If you have push notifications off, that might be why you don't get iMessages. It's also possible that when iMessage doesn't work, neither do the
Disney Cruise app push notifications...i.e. just normal technical issues with Disney Cruise internet. You might leave push notifications turned on. They don't use that much traffic at all if you're trying to save data usage.
Low battery mode also likely prevents the phone from being available for push notifications. Basically, it takes some extra power to always be "ready" to receive a push notification. Low battery mode likely makes the phone "pull" for notifications...in that it just wakes up every few minutes and checks...or it just disables them altogether.
I don't think there is a good compromise there. Leave the phone in just regular airplane mode and connected to Disney Wifi and it should work. Low battery and disabling push notifications are likely things that would cause the phone to not do the things it needs to for the push notifications, and as such iMessage, to work right.