If you want to play with Kernels I'd play with Linux. As for creating a Kernel with a software for Windows, you will find yourself using a package like Borland or MS C++ and if creating from scratch you will need LOTS of help. Its easier to modify the wheel then to reinvent it in the case of kernels, and Linux lets you do that without any worry about legality. Bill Gates doesnt like any competition / clones of his software and operating systems, so trying to reinvent Windows or DOS would be a lost cause and up hill legality battle. Closest Kernel yet to touch on MS territory that I know of is FREEDOS, and the only reason why this is not a major issue for MS is only because they havent created a FREEWINDOWS.
If you want to make your own kernel I would learn C++ and Assembly Language.
As for myself I tweaked Linux Kernels with friends back in college and that was cool, but we were only able to make the slightest of modifications without breaking it. A kernel is a very sensitive object!