Welcome aboard the xHarbour comunity
The Class

vs xHarbour compatibilty issue boils down to the implementation of classes, or rather, the difference of implementation. F.i. this tiny snip from the rather hefty discussion between 2 major developers of xHarbour is what IMHO it all comes down to:
Code:
In classy
o:=myclass():new()
? o:class == myclass()
is true.
(corrected a small typo)
And while this construction may or may not be desired, it is not supported by xHarbour as the instantiation of a class is not the same as the definition of that class (in bytes in memory that is) and can not be compared to be equal.
The whole concept of the above is at the top of my OOP knowledge, and I certainly don't know anything about the OOP implementation of both Class

or xHarbour, but you should probably check your code for constructs like this, to avoid confusion while testing compatibility.
I haven't used xHarbour OOP enough to present a fix or workaround for this 'feature', sorry, and it also isn't presented in the newsgroup thread, so it's probably impossible to solve without rethinking the entire solution.
It is agreed by all involved in the discussion that the work of Anton van Straaten (Class

) is a fine piece of craftmanship in design and implementation.
It's just different than other implementations.
For a deeper understanding it's nice to have the xHarbour Developer Network at
that contains the available helpfiles and lots of samples. The part of OOP (use that as a search term) is not that elaborately documented, but it's usable as a starting point in the xHarbour OOP dialect. Basic knowledge of OOP programming is required though.
HTH
TonHu