there is no reason why my proposed method would not work (I tested it), especially if you were able to use the scroll commands since they operate on the same principle, so I think you must have missed a step.
Version 0.882 (just posted to the forum) contains a fix for the issue you were having with the.
Anyway if keyboard emulation works for you that's great. I use it myself since it is more flexible for use with other programs. However, some users have reported problems using keyboard emulation with XBMC so that is why the other method is set as the default. And of course if you are running xbmc on a machine other than the one VC is on, keyboard emulation won't work at all. Also, in some cases XBMC may not be properly focused, and in this case too, keyboard emulation won't work.
So to sum up, the commands that use XBMC.Btn.KB are generally more reliable than keyboard emulation, but emulation is a bit faster, and works with other programs too which can be nice.
Of course you could use the xbmc.focused and xbmc.unfocused Events to trigger a command that switches switch between the two command groups if you want.