The remote itself is actually quite programmable to begin with. It's essentially one of the "One-For-All" remotes (a "Cinema 7" I believe) with the Radio Shack logo silkscreened onto it.
I've got one controlling all of my gear in my Home theater. It's the same guts as a Cinema 7, but in a better caseing with RS on it. It's a damn good remote. My wife uses it without a problem, whereas I had a problem getting her to use the touchscreen remotes...
To the original poster, It advertises that it has 4 learning buttons. In reality, I think there are 4 buttons on it that CAN'T be programmed. The rest are fair game.
http://www.remotecentral.com has a ton of info on this remote.
It is not upgradable except via the pinout (no phone upgrading), but given that it can do learning, I haven't found a need to upgrade it.