This is going to sound weird, but it fixed my iPhone 4 syncing w/ Outlook Calendars over a year ago.
My problem was I had multiple Outlook Calendars and you have to make sure you are syncing with the right one My solution doesn't work if you are syncing with multiple calendars or check the "all" box on iTunes "info" page.
You can discover how many iPhone calendars you have by simply opening calendars. It will show on the top header between "calendars" and the + sign. If it only shows 1 calendar then this is not a solution for you.
It took a while, but I created a new event on 4 different days (since I had 4 calendars showing on the iPhone), each with its own colored dot. [When you create add an event and hit "done" it takes you back to the "add event" page to add additional info (starts, ends, etc.) Near the bottom, just above "notes" touch "Calendar". Here you can see all your calendars the phone recognizes. Check mark a calendar.
Do this for as many different events as you have colored dots representing a different calendar. I chose to do 4 different days, changing the calendar in use for each event. Then I synced and went to my outlook calendar. Whichever event you see is the calendar that the phone is syncing with so from then on make certain that you check to make sure you are syncing with that same colored dot (calendar) on your phone each time. Also, make certain to choose the same Outlook calendar when entering on your computer instead of the phone.
This has really worked for me and it has worked for several friends. Remember, if your phone shows only one calendar this won't help you, It will also not work if you check Sync with all under calendars on the Info page of the phone. Good luck.