I have just added a new command sendKeys to Selenium IDE. I believe that this is the way forward and it should fix the problem you have been facing with the typeKeys command (issue 3861). Here is the important section from the reference.
Command: sendKeys | locator | text
*Experimental* Simulates keys pressed as though you typed the value key-by-key on the specified element.
This simulates a real user typing every character in the specified string; it is also bound by the limitations of a real user, like not being able to type into a invisible or read only elements. This is useful for dynamic UI widgets (like auto-completing combo boxes) that require explicit key events.
Unlike the simple type command, which forces the specified value into the page directly, this command will not replace the existing content. If you want to replace the existing contents, you need to use the simple type command to set the value of the field to empty string to clear the field and then the sendKeys command to send the keystrokes for what you want to type.
I have currently marked the sendKeys command as experimental. I think that the sendKeys command will change a bit to allow you to specify the pressing of control keys like shift and control. I want to get some feedback from you before I finalise it.
I am planning to update my Selenium Expert plugin soon and give it the ability to convert all typeKeys commands to sendKeys commands. This should make the migration of existing scripts to the commands a one click thing.
Another solution would be to simply change the existing typeKeys command instead of introducing the sendKeys command. Since, the two implementations are similar but not the same, some existing tests would break. Introducing a new command would allow you to experiment with it and provide us with your feedback. Tell us what you think about the sendKeys command. Tell us if you want to have two commands or if you want to have just typeKeys with the new Selenium 2 implementation.