After trying to reproduce, here's what is actually happening:
After getting the call waiting tone and flashing to the incoming PSTN call, if I then hang up instead of flashing back to the VG1/SP2 call, I get a brief ring (for the VG1/SP2 call on hold) as expected, but then that call is disconnected within a few seconds before I have the chance to answer.
I tried this with an outgoing Google Voice call on SP1, and it worked fine. The brief ring was repeated every 10 seconds after I hung up on the incoming PSTN call to indicate the held call. But, the same is not working with a SIP provider.
So, step 4 in the above scenario really is:
(4) Hang up on the PSTN call. The phone rings briefly to indicate a held call, but then the OBi disconnects the VG1/SP2 call within a few seconds.