Try specifying SFLRCDNBR(CURSOR) in your DDS.
SFLRCDNBR is defined with a field (i use TOP) to carry the relative record number of the subfile record you want to display. When control returns to your program (enter or a command key) you can detect the subfile record number at the top of the current page. (file information data structure has it).
I usually set the value after the subfile is displayed.
If you edit the subfile and detect an error, you can set the relative record number of the error so the page containing the error will be displayed.
you can place the offending record at the TOP of the page with SFLRCDNBR(CURSOR *TOP)