The ActiveX controls are black because VB6.0 is not supported on Windows 7 and this is just a side effect - it is only cosmetic and doesn't affect the usability of the controls.
The COM library is a C++ wrapper library which calls the C library - the overhead of this is negligible. I'm not sure if you way is faster, but it's certainly more work for you, and one of our primary goals is to make things easy for our customers...
The digital inputs are all read at the same time. If you need to guarantee that you read their states back simultaneously, I would read them back from the input change event (just read them all back, ignore the index) - so that there isn't any chance of them changing as you read them.