First VB is intrupted into C++ code then it is compiled to Exe. (upto version 5, you used to be able to stop the compile process and view the c++ code, before it was ran through a C++ Compiler)

Most API that VB called are Buffered through the runtime.

For Example BitBlt that VB calls ISN'T the same as bitBlt that C++ calls.

Buffering code is added to protect VB from crashing from bad API calls.

C++ uses ActiveX aswell as VB, most ActiveX controls are written in C++.