Kassem wrote1. C# and VB.NET, do I really need to know both of them or would C# alone do the job?
Based on Luca Bolognese (MS Employee on the Languages Team), the C# and VB.NET users are at 50%/50%. Although that's rather irrelevant, working with .NET means working with managed code, whether you're using VB.NET, C# or F# you're pretty much consuming the core library which is compatible with any of the languages.
Summary: Stick to C#.
2. Do I really need to learn about the ins and outs of SQL Server?
No, what you do need to learn is RDBMS in general, specifically the query aspect of databases. Don't dive into it as you'll grasp the ins and outs with experience. Moreso, you'll end up using an Object Relational Model which renders the database aspect pointless.
Summary: Learn SQL, Relationships and Constraints.
3. What about Windows Communication Foundation and Web Services?
WCF is not a necessity, though it's incredibly powerful. Web Services are a must as a web developer.
Summary: WCF No, Webservices Yes.
4. Is it part of an ASP.NET developer job description to know how to use Analysis Services (OLAP, SSAS, Data Mining, Business Intelligence) and Reporting Services?
Reporting yes.
4. What about SharePoint and Silverlight, are they required too?
They're not required, though it would be nice to see what WPF/Silverlight are about. Then again, if you know Flex you already know 50% of WPF (in terms of logic).
5. What features of ASP.NET would you recommend concentrating on?
ASP.NET WebForms are annoying. I wouldn't recommend it to anyone, what i do recommend is taking 30 minutes and getting familiar with
ASP.NET MVC thus getting productive the very next day.