I had the same problem as you did. Because I use a dark background color scheme, the teal color of the SQL variables made the SQL scripts almost unreadable.
Then, after weeks of frustration, I finally found the culprit. Go to the "Fonts and Colors" section and locate the item called "Identifier". DO NOT USE "Default" for the item foreground. Instead, change it to whatever color that is not default. (To be on the safe side, do not use the same color as the "Plain Text" item either, so that VS 2010 won't think that you are using the default color.)
Now, your "Identifier" foreground color should display as "Custom" and the color value should be different from the "Plain Text" item, even just slightly different is fine. Save all the changes, and now Visual Studio 2010 will display the SQL variable in your custom color.
This problem seems to be because when "Identifier" foreground is set to "Default", the SQL identifiers don't use the default color of the Plain Text. Instead, it grabs the teal color from a mysterious location, so you have to tell it to NOT use the default color. This is definitely NOT a feature. It's a bug.