IMAP IDLE is part of the IMAP standard - since when does Apple "set" these rules? And the data usage by a live IDLE connection is negligible. Similar to the heartbeat connection for Exchange push mail. Extremely low overhead. Measured in bytes, maximum kilobytes. On most data plans, even skimpy ones, this is totally acceptable.
An IDLE command is sent usually about every 30 minutes to the server, but the IMAP server doesn't wait 30 minutes to deliver a message. It is delivered as soon as it arrives. Therefore it is event-based notification that is pushed to the device and is more truly "push" email than most.
By the way, Mail.app on the desktop has used IDLE where the IMAP server supports it for quite some time.
IDLE support would be most welcome and I am also surprised it wasn't incorporated in 3.0.
Regards,
John