OK, I could add an event to this and it would be updated if I logged into Google, but most of my events are held directly in the iCal Calendars - what I'm trying to do is upload these to Google.
I think I know what you are talking about. You are trying to sync the calendars you created within iCal itself to Google calendar. You are suppose to be able to use the publish feature to "upload" your iCal calendars to the internet or MobileMe but I can't seem to get it to work. Even if it did work publishing will only allow Google to read your calendar but you can't edit it them from Google so I don't think it's the way to go.
Since you have the syncing working with Google, the easiest way to do what you are asking is to recreate the same calendars you have on iCal in Google. Then all you have to do is have iCal access them by doing step 7 with the delegates feature. Each Google calendar account allows you to create several sub-calendars which is pretty much the same thing you can do in iCal. I have 4 sub-calendars in Google and can sync them all individually to my iCal. I can then update the calendars either in iCal or in Google (when I'm away from home).
It will require you to do some extra work because you are going to have to manually re-type in all the events from your iCal but once you do then just use the Google calendars in iCal and through Google and you will be able to sync all of them between the two. Unless someone else knows another way then that's what I would do.
If you are talking about your subscriptions from other calendars sources then you can copy the url address you have in iCal and paste them to Google's calendar. You don't need to "upload" them to Google. Just have Google access them directly. Here is the instructions for that:
Subscribe to calendars in Google Calendar - Google Calendar Help
Re my other question - is it the case that MobileMe only works with iPhone not other mobile platforms?
I don't have MobileMe but I believe it works easiest with iPhones. It may work for other phones but you might have to do some extra steps. Maybe someone else will know because I don't know that answer.