This seems to work for me:
IfFileExists $SYSDIR\Mscomctl.ocx next1 inst1
CompareDLLVersions /STOREFROM prgfiles\Mscomctl.ocx $SYSDIR\Mscomctl.ocx inst1 skip1
Maybe you must use the switch /STOREFROM ?
The /STOREFROM switch tells the compiler that dll1 is a file on the build system, at which the compiler will look to get the version information (if /STOREFROM is not specified, dll1 is a path on the target installing system).
Note: this command uses the win32 version resource to do its comparison - if either file lacks a version resource, the function will fail (no goto, error flag set).