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.