I think the error with this lies within the order the game autosaves in. I'm currently testing this by MANUALLY saving each time before exiting the game, whether I met conditions for an achievement or not. So far is worki, but I'll update as/when/if it glitches still.
A manual save can be performed by going into options and changing anything, then accepting the changes.
Update: this has worked for me, I left one item (a song) in the shop, and purchased it just after I received my gold liscence, started a race with the newly bought song and it popped (it counted the 'magical shower' achievement as the race started, meaning my theory on saving/loading information was wrong, but it still worked, so I'm not too bothered)
Hope this information helps, and prevents you from restarting the game as many have had to do