Upgraded a client from 4.x.x to 5, as we had some calendar/contact issues as well. Upgrade didn't go smoothly, but since they had under 10 phones we just reverted a clean install and activated all the phones wirelessly since they were on a BES plan. Went off without a hitch. Given the small size of the deployment and cost issues, we went with Express.
Only word of warning is that 5 is a pig when it comes to memory use and have a look at your logging options - it can easily spiral out of control and soak up GBs of HDD space.
I'd also offer up this - the user that started this later had more sync issues while the rest of the users had none. What fixed the latter issues was a hidden menu in Options > Advanced Options > Enterprise Activation and in the email field press and hold the ALT key and type CNFG. Once you enter this, a menu will appear and you can toggle "Wireless Sync" to no. Exit and wait a minute then repeat the process setting sync to yes. The unit then appears to do a resync of all its data, which fixed my issues.