Nope. sharemem is windows specific, even borland and children specific and is an interface to share memory between threads within the same process, including reference counted things afaik, but so is COM memory marshalling under windows, which has the benefit that can also marshal memory between processes if these processes use com.
cmem is in most cases - on most platforms - simply an interface to the OS heap manager. Therefor it is more likely to do not cause problems. The standard memorymanager from fpc (and to a lesser extend, but similar delphi's) is likely to cause problems once fragmentation becomes an issue, especially on multi-processor systems. The OS heap manager on the other hand will cost you more memory for the same task, but is tightly bolted on the allocation granularity of the OS.