I see many books on C# 3.0 but also 4.0 pre-orders. What is the big differences? Can I go ahead with C# 3.0 to start now or should I wait and pre-order? Any book recommended?
I would get C# in depth by Jon Skeet. If you order the 4.0 book (second ed.) I believe you get the first version for free.
the changes between C# 3.0 and 4.0 are not huge, while the changes between C# 2.0 and 3.0 were tremendous. if you don't have a decent reference for C# 3.0, get it now.
I recommend "C# 3.0 in a Nutshell" by Joseph and Ben Albahari, from O'Reilly.
If your unfamiliar with the new features in C# 2 and 3, I'd learn about them first anyway because it will give you a good feel for how the language has developed through the versions and how the features depend on one another, for example generics in C#2 enabling nullable types and the introduction of anonymous methods in C#2 leading to lambdas in C#3. I recommend C# in depth by Jon Skeet, I learnt loads from it.
I would wait for the C# 4.0 books to come out, and then buy a C# 3.0 book. It should be cheaper that way, and you can find all the 4.0-specific stuff on StackOverflow.
Assumption: Books are cheap and your time is expensive. (And you might be able to get your employer to pay for the books.)
Conclusion: Optimize for what's best use of your time. Get the books you need to start learning now. When you need to learn more about C# 4.0, there will be plenty of documentation available on "what's new in version 4".
The best general introduction to C# 3 for the moderately experienced programmer I've edited is Jon Skeet's "C# In Depth". Mark Michaelis's "Essential C# 3.0" is also pretty decent. If you want to learn good tips and tricks for being a better C# programmer, Bill Wagner's "Effective C#" and "More Effective C#" are excellent. It is also very handy to have a printed copy of the annotated specification "The C# Programming Language, Third Edition", annotated by a great many C# experts.