SQL -- learn immediately. Don't worry about DBA stuff, but master queries, table and view creation, some optimization, joins, etc.
Regular Expressions -- Handy but almost never critical. Any time I need a RegEx I just google around for it and test until I find a good one.
Multi-threading / Concurrency -- Useful to some but difficult to learn. Learn them when you're working on things that require them.
Functional Programming -- Not generally useful on a professional level. Fun to know, and many FP concepts are making their way into mainstream languages.
Graphics -- Awesome if you have fun with them or work in an industry that uses them.
The mastery of your mother programming language's syntax/semantics/featureset -- #1 thing
The mastery of your base class framework libraries -- #2 thing
Version Control System -- #3 thing (know at least one proficiently)
Unit Testing -- High useful to know and be able to talk about. Most shops will talk about unit testing, only some will actually do it, but very good to know.
XML -- Can learn as you go generally. Not worth independent study.
My additions:
SOAP/JSON: If you do any web or service development, these are huge. Even my desktop development is starting to rely heavily on these two for integration. Great to know for many vocations.
TCP/IP: You should know how a socket works, how to open one, the difference between TCP and UDP. You should be able to send an E-mail address via Telnet or using a simple socket-based environment. Understanding the protocol that underlies so many others is very helpful sometimes.
Your IDE: You will likely spend a ridiculous number of hours in your IDE, and every single one of them has features which can save you lots and lots of time and aggravation. It's worth getting a book just to learn the hidden tricks of your IDE du jour.