First, you're experiencing an issue that isn't iOS-specific, this "bug" has been around since WinMo 6 and Outlook 2003, and we've experienced this maddening bug on each of our mobile platforms and Exchange-related platforms (including EAS-related servers). Using Outlook 2003/07/10, we still deal with this bug, but I've discovered a workaround that seems to work *only* with iOS devices and Outlook/Google EAS. Granted, there seems to be a setting in Outlook's cache that gets flushed or unstuck that you can read up on TechNet for yourself (I have - boooooorrrrrrring).
What's worked for myself and our mobile iOS devices is to set up an Outlook/Google EAS calendar event with a 15-minute reminder (Dummy 1) and sync it with your iOS device. On the iOS device, wait for the event to be synched, then open the Dummy 1 event, and edit it so that it a has a "At the time of the event" reminder, THEN IMMEDIATELY on your iOS device create a second calendar event with a random name/duration but with a "At the time of the event" reminder, then then sync back your iOS device to Outlook/Google EAS.
I happened upon this process after studying the Outlook cache settings (I now use Outlook 2010 and 2011 - and for now Google Premier Apps) when I experienced exactly what you're dealing with but with WinMo and BBOS devices a few years ago. I do this little "dance" now with our mobile devices almost right away when we hook it up to my servers. After this "dance" of sync one way then the other way, "0 Minute" reminders and "At the time of the event" reminders are synced now 100% of the time between Outlook (2010/11)/Google Apps/Office 365 and our iOS devices. I haven't posted my "fix" anywhere else, so YMMV but it's worked for me every single time.