Unchecking "Sync Music" in the Music tab -> Syncing -> disconnecting iPhone -> connecting again -> checking the option "Sync Music" and syncing worked for me too. Although i have to say it took me a while cause i've done that earlier. I think the trick is that you have to uncheck the option "Sync with this iphone over wifi".
I GOT IT FIXED!
This is my solution to the grey songs, cant buy from iTunes app or App Store, and syncing problems.
im just going to say it how it is and no robot instructions. it takes any where from 30 minutes to 1-2 hours depending on how much stuff is on your iPhone. so here is how i fixed mine
1. Back up your iPhone whatever device you have
2. Disconnect from iTunes and unplug your Apple device
3. NOTE:NOT FROM YOUR COMPUTER, BUT go into the
Settings app>General>Restore: Erase All Content and Settings
4. Let it Restart and you will be prompted with the ios 5 Setup screen and continue setting up UNTIL you get to the part where it asks you about RESTORING from a back up via iTunes, iCloud, or setup as a new iPhone.
5. select the iTunes option. connect to iTunes and right click your iPhone from the devices list and select "Restore from Backup..."
6. select the backup you did just a few ago.
7. let it backup, it may take a while from 10 minutes to 30. it took me 20 (so find something to do like watch a tv show or something. go on youtube and watch a video or two to pass the time)
8. once restored, it will come up on the device list on iTunes. ONLY click the iPhone DO NOT click the music on the iPhone. click sync if it isn't already.
9. after it is done, THEN click the music on the drop down selection on your iPhone. all the previous music that was gray/grey, should be black like normal, if not then press sync and then go back to music.
this worked for me so hopefully it will work for you.
this grey song issue ****** me off so much i wanted to throw my iPhone 4S at the wall and see all the glass shatter into a million pieces. nasdlfhsdfsdjfnl gahhh. everything is working like a charm now so you're welcome if this worked.
if it didn't, then your screwed or keep trying again.