You didn't take up any of my time. I'm the one that chose to respond. I also didn't say it was perfect the way it was. I was simply explaining why I think it works the way it does, offering some counterpoints based on my experience with the SDK, and offering you some workarounds to get it to behave the way you want.
As for "the professional product it should be", you've only been around a couple of months, so you may not be aware of it, but the box started out as strictly a Netflix player when it was first introduced two years ago, and it's only had an open SDK for about a year now (maybe less). The SDK as it is now is leaps and bounds above where it started, and is constantly improving, with many of the suggestions made by developers in these forums having been implemented.
Also, as for numbers associated with buttons, not too long ago, someone from Roku said they'd be including an associative array of button IDs in a future release. Until then, the IDs for the buttons missing from your list above are...
0=Back
7=Instant Replay
10=Info (*)
There was also a discussion recently about making all of the non-intrinsically mapped buttons available on the built-in screens, which would probably address one of your main criticisms above, but I don't recall if Roku weighed in on that or not.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)