The "USEUNIT" feature is provided by TestComplete to make it possible to split your scripts into several units, and the cross-unit calls are handled by TestComplete.
However, as TestComplete uses the MS JScript engine, some restrictions appear. JScript does not support units natively, and therefore, native features of JScript do not "know" about other units of your project. As a results, class-related functions and operations provided by JScript natively may not work across units.
So, be careful when sharing classes across units.
As for InheritsFrom, there is a way to avoid copying its code to every unit:
<font class="small">Code:</font><hr /><pre>
var InheritsFromCode = COMMON.Function.prototype.inheritsFrom.toString();
eval("Function.prototype.inheritsFrom = " + InheritsFromCode);