Eversince Android 2.3 Gingerbread released, it appears that some Android phones are having calendar sync problems with Google Calendar Web server. It could be version 2.3 in the Android has a built-in "phone acct" that is designed 'not' to sync (could be for privacy purposes). One of the tips I give to my friends is to do reverse engineering. Before they buy an Android phone, use their laptop and go into Google to setup a Gmail account. Then, when they buy the Android phone, setup the Gmail account during their phone registration and initiation.
As for your one-direction sync (from Google web calendar back to phone, but 'not' the other way around), not sure if you have installed some apps to your Android phone that has some "settings" that may block or restrict 'outgoing' sync from phone to google web server. Review your other app settings, to see if there are any 'data' exchange restrictions or "check boxes" that you can check.