I switch daily between c# and vb.net for different projects with different clients. One of the things I've always plagued me was those subtle little differences between the languages; putting semi-colons at the end of vb.net code, typing Then....EndIf in c#, those types of things. Those are easily noticed as soon as they fly off my keyboard. The ones that are really evil are differences in techniques that, at least I, just don't use that often.
For example, yesterday I was working on a vb.net project for a client. I created a new class that I wanted to implement an interface. Not a big deal, I remembered that in VB you need to use the Implements keyword. What I didn't recall, and embarrassingly enough took me a few minutes to discover what I was doing wrong, was that you needed to use the Implements keyword tagged on the end of each method in the interface. It's something I don't do quite enough to have it instantly recalled when I need to (although perhaps by writing this up, I will forever have it etched in my brain, "What's wrong here, why isn't it seeing the methods I implemented....Oh yes, remember that blog entry you wrote last year....need the Implements on the methods!!!" Another benefit to blogging!