Not usually, no. Given the way Caps Lock, numlock, etc maintain state, and the lack of ability for operating systems to allow programmers to CHECK that state and act accordingly, there's no way to keep them synced when outside influences (even the keyboard itself) are changing them. For CoRD we were always going to add a menu item that would allow you to force-send caps lock, numlock, etc so you could force things back in sync, but it continually got tabled and none of us ever made it back to adding that in.
It gets more complicated when you think about a machine with multiple keyboards plugged in. Turning caps lock on for one keyboard doesn't enable it for the others. So who's authoritative? This is one of those things that makes me hate working on RDP clients...