I don't think this is expected / supposed to work, as currently implemented. heaptrc.pp is itself a
"memory manager unit" in the same way that cmem.pp is.
Both always replace the default memory manager with their own implementations ("CMemoryManager" in the case of cmem, and "TraceManager" in the case of heaptrc) and as such it is not possible for them to co-exist.
If you want something that is still able to report memory usage the way heaptrc does, but calls into some external malloc implementation, the best way to go would be with a modified version of the heaptrc unit that explicitly uses the external API for the actual allocation / deallocation routines, which will generally return the same kind of values allowing it to track them the same way.
As far as whether CMem specifically is generally useful on Windows though, it definitely does massively improve the performance of multi-threaded applications (on at least 64-bit, not sure about 32-bit.)