Well, there are different levels of control...
RS-232, as a control protocol for A/V gear, is far from obsolete. We encourage people to spend extra to get the (insert A/V piece here) with RS-232. Ethernet is better, but still not common on high-performance equipment (take the Anthem Statement D2, for example). We prefer ethernet, but RS-232 is far better than IR-only.
IR is unidirectional, so you don't get any feedback from IR devices. Without feedback, you can't know anything about their state. This is why your receiver, TV and cable box sometimes get out of sync -- your remote control system has no way of knowing what state anything is in. It fires the Power On command to the cable box, the receiver and the TV, but it has no way of knowing whether those commands were received and acted upon.
RS-232 is bidirectional. It provides feedback. A well-designed system gets its feedback from the devices it controls, so nothing is ever out-of-sync. If your TV, receiver and TiVo are all connected to a control system (like an AMX or Crestron controller), the remote tells the controller to turn everything on. The controller sends the commands via RS-232, and, if it's programmed well, it will ensure that it gets a response from each device telling it that the device has in fact powered on. If it doesn't get a response immediately, it can send the Power On command again. If it doesn't receive notification from the device that the device has powered on, it can alert the user that there's a problem.
Another benefit to this is that if someone turns on the receiver, TV and TiVo via remote and then turns off the receiver by hand, a well-programmed controller will be polling the power state of the receiver and will know that the device has been powered off, and that the TV and TiVo are still on. It can indicate the receiver's actual status. A remote that doesn't get feedback from the devices it controls could only assume that the receiver was still powered on.
Not everyone needs or wants to pay for the benefit of bidirectional control, but those that have invested in an AMX or Crestron system expect that things will "just work".
As I mentioned, Crestron has released an app for the iPhone. It is a game-changer for them. It still requires that users buy a Crestron controller, but, users no longer have to buy a Crestron touchpanel -- they can use an iPhone or, better yet, a dedicated iPod Touch, instead. They have seen the writing on the wall.
This app brings down the entry price of a Crestron system by a few thousand dollars (more for bigger installations). It means that Crestron will sell fewer remotes and touchpanels, resulting in a loss of revenue. I think they're hoping that by lowering the barrier to entry, they'll sell more of the other hardware they make -- controllers, lighting control, matrix switchers, etc. I think it was a smart move on their part, and, I think it's inevitable that other control system manufacturers will follow. Some already have (Savant and I believe Home Logic have already released apps).
Also, I mentioned that I have written some apps that allow me to use an iPhone or a Mac to interface with a Crestron system. I don't believe the Crestron controller could be taken out of the equation easily. I think you'd lose a lot of functionality. Again, there are plenty of people who don't need or want bidirectional control and maybe IR blasters are fine, but for those who demand a robust system with feedback and have their equipment stored in a rack in another room or under the house, I don't see how iPhone or Cocoa developers could deliver that kind of functionality without a dedicated controller. A programmer could write code to monitor the states of equipment under control and fire off IR and RS-232 commands and even parse the feedback, but the hardware linkage between computers and AV gear isn't really there. For one, AFAIK, there isn't a PCI or USB solution with Mac drivers that provides jacks for IR bugs. IR blasters, Insteon, etc. are meant for people who are willing to spend time massaging their systems, not for clients who want their system to "just work".
Yes, there is the Global Cache, but, again, this is a dedicated controller, albeit an inexpensive one. It's also an external device and requires the coder to interface with an external device that speaks a slightly different language, rather than a PCI or USB interface that can be controlled with Cocoa. All of this results in more customized code that really requires someone on-site to code and debug it, rather than a product that the end user can download from the App Store and get up-and-running quickly and easily.
Another example is the forthcoming Oppo BDP-83 Bluray player. Initially, they weren't going to provide an RS-232 port. I, and I assume others, told them that not offering some means for bidirectional control was a mistake. I noticed the other day that their site now states that they will be offering an RS-232 port as an option. Without that RS-232 port, I think a lot of integrators would not offer their player, no matter how good the A/V quality is. We're always searching for the best price-to-performance ratio for our clients, and bidirectional control is almost always at the top of the list.