How does VB6 code get converted into 0s and 1s?
The VB6 compiler compiles the code into 0s and 1s, then the linker links that into an executable.
What is in between a VB6 code and the processor?
One may say, nothing.
Or a virtual machine, if the code was compiled to PCode and not to native binary (an option in project settings).
Alternatively, one may say there is the VB6 runtime in between, but it's much less of a runtime than CLR.
There are these com+ components that were originally built using vb6. People who built it are long gone. No one seems to know much about this. I need to fix a com+ component.
Knowing whether or not VB is compiled to native code won't really help here. You will have to debug it anyway, and the debugging will look the same in any case.
Is it possible to debug a vb6 program using VS 2010?
No.
Alternatively, one may say yes, if you're willing to turn on unmanaged code debugging and debug the VB component in assembler (not that you'll be able to do much after you find the problem).