I assume that you had four records in the block, you saved the record sequence number (from using the get_block_property coomand)into a variable, you deleted a record (or two) from the block and then tried to go back to the record whose number you had saved.

In the When-Remove-Record trigger, if the record being deleted has a row number LESS than the stored number then decrement the stored number. If you get to '0' then set it to '1'. If they delete the record whose number you have saved then you have to decide as to which record to point (previous record or record '1'?).

David explained it - he just didn't write any code, but it shouldn't be too difficult to "translate" his sentences to Oracle statements. Try it! If you don't succeed, come back and post code you managed to write. We'll assist (hopefully, that is).