I also have a 4S (unlocked version) and my experience with this issue has been nearly identical- rapid battery drain and not receiving SMS/MMS/iMessage messages sent to my phone (push notifications were never affected). Even with the phone on standby, the battery was draining way too fast. As I'm using an AT&T GoPhone account, I'm using an APN for wap.cingular.com.
I tried closing all open apps then hard/soft resetting the phone, which did nothing to solve the problem. As my actual time using the phone was only about an hour a day, I thought the reason might be some program preventing the phone from sleeping. Looking at the standby/usage counters, I noticed both times increasing at the same time which didn't make sense- a phone that is being used isn't in standby and vice versa. I waited on that screen and actually watched standby and usage click up at the same time. AppleCare suggested the problem was merely the usage counters getting 'confused' and suggested letting the phone fully recharge in order to reset them. It did indeed fix the counter problem for a bit, but within a few hours (at most maybe half a day), they'd be increasing at the same time again. Full charge had no effect on the rapid battery drain.
Still convinced something was something preventing the phone from sleeping, I installed a console log viewing app to see if I could find out what might be responsible. Lo and behold, the message
CommCenter[17] <Notice> MessageCenterModel is telling PDP context 2 to go active.
kept popping up repeatedly, even during times I had the phone in standby. I haven't paid too close attention to it, but it seems this chain of notices is preceded by a console message that says
CommCenter[17] <Error?: Error (204) activating PDP context 2 that supports types 4: ???, last_auto_trigger: [no]
If I hadn't used the phone for half a day, there would be literally pages and pages of the 'PDP context 2' message, every 30 seconds or so. After some digging around in field test mode (*3001#12345#*), I realized the message had to do with my data connection, so I tried uninstalling my APN for wap.cingular.com. Problem fixed- the 'PDP context 2 notices' instantly stopped coming, and a backlog of undelivered messages popped up in my phone. Great, except now I had no cellular data access. Reinstalling the APN fixed that, but now I'm in a situation where the phone will work great with my APN for about a day or so, then at some point those console notices start up again and battery life and message delivery goes out the window. I've relied on uninstalling/reinstalling my APN- but I'm going to try the airplane mode trick to see if it works.
My next thought is to contact AppleCare, though I'm a little nervous seeing other's experiences so far. For me, this issue isn't a dealbreaker (yet), but it is a major pain to have to keep flipping my settings after noticing my battery life going down- and unfortunately I don't see that I've been missing messages until after I reinstall the APN!