One of the things we're trying to do for Whidbey is a feature we call the “unbound type smart tag”. You'd probably call it “automatic add 'using'”, I guess. It works like this:
You have a typename in your code, and you've referenced the correct assembly, but you don't have a 'using' directive in the current file. It doesn't colorize as a type. (We now colorize types specially). A smart tag appears, offering to insert a 'using' directive or to fully qualify the name.
I had written a huge post about how we do type colorization, and all the design decisions we made, but then I lost it. uggh.