Where error 4003 comes from
A runtime call received a value outside that function contract, even though the source compiled. The numeric value is listed in the official runtime error table, which is separate from MetaEditor compilation errors and trade server return codes.
Reset the last-error state before the suspected call, save its direct return value, and read GetLastError immediately afterward. This produces a causal log instead of a stale code.
