Man kann doch beim READ Bezugszahlen angeben, und damit ER und EOF getrennt auswerten.
(evtl. macht die Funktion %ERROR dasselbe?)

Dann kannst Du doch den Lock vom NoReocord unterscheiden.
Wenn Du dann noch die Wartezeit etwas runtersetzt (OVRDBF WAITRCD(1) oder so glaube ich), dann brauchst Du nicht mehr prophylaktisch ohne Sperre lesen.