I have recently stumbled on a service program in which *inlr = *on is used after explicit close of a file (code below). It feels rather excessive for me. From what I have found it is rpg cycle that handles releasing of resources. So if there is no cycle (ie. in programs with main/nomain h-specs) there is no way for *inlr = *on to have any effect, but... I have not been able to find any confirmation, and since cycle related issues are very new to me I might be missing something...
if %open(file);
close file;
endif;
*inlr = *on;
return *on;
In short no.
"last record" indicator is only used by the cycle. It's not used in a NOMAIN service program or a linear MAIN program.
The RPG IV Programmer's Guide says
Additional References
IBM's Barbara Morris (RPGLE Compiler developer, in a post to the RPG mailing list)