Comm32 is compatible with MSComm in that it uses the same property names, methods and syntax which means that you can quickly add Comm32 to a VB6 project in place of MSComm32 without needing to change any of your code or learn any new syntax. (also works for other languages with minor syntax changes.)
The Comm32 Communications Control is intentionally designed to 'mimic' MSComm32 allowing you to use AxComm in place of MSComm without making any changes to your code.
If you're already using MSComm32 you will see that Comm supports the same properties and the same syntax but in many cases the functionality or range of permitted values has been extended.
For example when using MSComm32 the CommPort property only allows values up to 16. With MSComm32 ports above Com16 can not be used.
Comm32 uses exactly the same property and syntax so the Comm32 CommPort property is 100% compatible with MSComm - but, with Comm32, you may use any com ports supported by your operating system. (That's up to Com256 (Com128 on Windows95/98/Me))
Another example are properties related to buffer sizes. Again, Comm32 is 100% code compatible with MSComm but, if required, you may use much larger values.
Even though Comm32 properties have the same name and the same syntax you will find that Comm32 has improved capabilites. AxComm uses the Windows API and fully Overlapped I/O isolating your application from the low level com port driver meaning your application is not affected by flow control hangups and blocking com timeouts - things that often cause MSComm to loss characters, become lethargic, hang for extended periods or even lock up forever.
As well as the above mentioned MSComm compatible properties, Comm32 introduces a few new properties and functions.
The new InstalledDrivers and DeviceName properties help you detect and identify com ports while properties such as EOFChar, EvtChar and EvtCharEnable are derived from functionality that already exists in the Windows ComDrv API which are not exposed in MSComm but are exposed in our Comm32 control.
As well as properties we've added putByte and getByte Functions. These are methods which return a value. For example when using putByte you can transmit a byte and instantly see by the boolean return value whether the operation was successfull.