@bfoos: Me and l_Oliveira are collaborating together, to create a stripped-down version of OPL that can be installed into the APA partitions of games, so they will function like PSBBN DLC games.
One important discovery that was made not too long ago by us was that the modern PS2s do not require a Sony HDD. It's the Sony software that comes on discs that require a Sony HDD for HDD support.
So by using patched files, one can use a regular ATA disk with the HDDOSD.
We believe that that is the best way to enjoy the PS2 - since it basically incorporates the intended design of the PS2's kernel and OSD with the homebrew environment. It's like playing your PSP games via the XMB - not with some ISO loader that needs to be executed first.
Not to mention that your play history file will be updated properly too... (Yes, I have regrets.... I've owned a PS2 for 5 years and I only have two short towers )
EDIT: I think that you can find your PS2SDK's revision by checking any of the header files. Just in case your header files do not indicate the PS2SDK revision, just look at fioInit() of fileio.c, and check whether it calls DeleteSema().
If it does, your PS2SDK is newer than r1689.
Well, it's a dumb idea to remain at r1689 as a couple of important fixes and additions were made after that. The most significant one, in my opinion, is the fix for fioRemove(). Jimmikaelkael's MCMAN module is very important too.
Hence I believe that the proper fix for OPL (And any game loader) will be to make a copy of the necessary fileio functions in a local file, like what was done for the loadfile RPC functions. That way, it will remain fully functional and stable regardless of the SDK used.