I use the icloud to sync my calenders and contacts.
This is accessed from within System Preferences, icloud on the mac and if you have an icloud accout it will let you configure what you share this way.
On your iphone
Setiings icloud and again select what you want. My calender on the mac and iphone reflect changes made in the other device immediatey
Have to say it works flawlessly for me.
If you are using the other sync as i Did before I do not know why events on your phone do not sync.
To transfer purchases you now have to click File > Device > Transfer purhases. But this should have nothing to do with your calender.
If you do go the route of icloud with your calender make sure all your calenders ar used as you intende. I did not realise but I had been using 1 calender for some events and a different calender for others. Thinking about it are you adding events in a different calender on your iphone compared with your MacBook
dammed if i know then...
Found this in another threadRe: iPhone calendar not syncing to iCal or MobileMe
i figured it out.... before syncing your phone to your macbook or whatever:
-go into settings
-go to calendars
-change the selector from ON to OFF
-sync phone to computer
-ical syncing with phone will now work like it did before iOS5 and iCloud, but in a good way
Last Gasp from another thread
This will fix it:
1. Open iCal and backup your entries. Make a note of the fie name and location, you're going to need them in a minute. Once your backup/export is completed, close the iCal application.
2. Open Finder and remove everything inside the "Username/Library/Calendars" folder. For instance, if your username is "Joe", then move everything inside the "Joe/Library/Calendars" folder.
3. Open the iSync application. It's located in the "/Applications/" folder. Once iSync is opened, go into the iSync Preferences (iSync -> Preferences) and push/click the "Reset Sync History" button. Then, close the iSync application.
4. select the file your created earlier. Dbl click on it.
5. Open the iTunes application and connect your Apple iPhone to the computer.
6. Within the Advanced section of the Info tab for the Apple iPhone, check the box the overwrites/replaces the Calendar data on the Apple iPhone.
7. Click the Apple/Sync button. New, modified and deleted entries should now be syncing correctly.
I saw this thread too. The thing that scares me about it is step 6. I don't want to replace the data on the iphone because that has events that I have put in that will not sync to iCal. Therein lies the problem. If I replace the calendar on the iPhone all those new events that I created will be lost. Thanks for all your effort.