I love Google Apps for Domains, I use it for all of my domains, I've even setup holodeck3.com with the Partner edition so that my users can get @holodeck3.com email accounts and services through them. Google does a lot, for free, and they do it well. I'm also a Mac an an iPhone user. I am never without my iPhone, and only rarely without my laptop.
Google has, over time gotten a lot better at providing me with services I need in order to keep my world more in sync. I was glad to be in the early adoption crowd of users for IMAP on GMail, and the first person among my group of friends to get IMAP support on my Google Apps for Domains accounts. This has helped a lot as my iPhone is now what I use for email when I'm away from my laptop, and in fact I find myself not going to the computer quite as often when I'm "off duty" because of it.
I love Google Calendar and prefer to have my calendar events in Google as opposed to simply a local Calendar on my computer or phone, however when I am at my computer, using iCal is so much easier then using Google Calendar (and having to keep yet another browser window open), and then of course there's the little matter of keeping my calendar on the iPhone so I have my events easily at hand. Google has long allowed you to subscribe to a Google Calendar using iCal's ics format, but this was one way, only allowing you to read your Google calendar in iCal, not make changes to it. Until very recently the best way to keep iCal in sync with Google Calendar is to use Spanning Sync, a $25 program (use this link and you can get $5 off!), that keeps your calendar in iCal in sync both ways with your calendar on Google.