(Posted on Q&A thread too)
While I hate to see "nickel and diming" as much as anyone, I'll come to the defense of Royal Caribbean on this one.
I was recently in a meeting with an executive from Royal Caribbean who mentioned that this surcharge was going to be implemented. The reason is much the same as when they implemented the surcharge for Johnny Rockets, namely wasted food. There has been a high instance during the 12 a.m to 5 a.m time frame of people coming in from an evening of cocktails in the lounges, then ordering room service, then falling asleep. When the room service arrives, nobody answers the door and the food is wasted. By implementing the surcharge, Royal Caribbean feels that is enough of an incentive for people to stay awake until room service arrives.
I'd tip at least that much anyway so it doesn't really bother me.