I don’t think this is a problem with the KeyDown command. I believe that is doing what is expected in pushing the key down and holding it down.
On a Mac SUT you can see this behavior by running the Keyboard Viewer (enabled from SystemPreferences->Language & Text) and issuing a KeyDown command.
The problem is how the SUT and VNC server are interpreting that event. On some OSes that will produce a repeat, but not always. What is probably happening in live mode is that your LOCAL keyboard driver is noticing that your key is being held down and producing the repeat behavior locally and sending it to the application. I can verify this on my Eggplant machine by enabling/disabling the LOCAL settings for key repeating.
I hope that helps clarify the “key repeat” vs. “key down” behavior. My advice is that if you want to produce a repeated key event you just write a simple script to do it.