I've found, through my own experience, that learning a programming language based on an embedded processor is the way to do it. There really isn't that much difference between the two as far as the programming language goes. If you never will be working with Windows apps, why bother? True, learning C for Windows or DOS base apps has it' advantages, but there are many library functions he will never use with an embedded application. My point was, he can become more familiar with his IDE while learning C at the same time. But that' just me. I'm a quick study a learn faster by doing it that way but he will need to go with what works best for him.
But on the plus side, it could give him a broader view of C and it's capabilities. But personally, if I needed to use Windows for anything, it would be in VB.