Hi David,
Ideally setting parameter in table SMOFPARSFA ( CRMIC ) will work. It worked for me also in earlier project. But actual interaction will not be ended until you END the interaction.
If you want to keep the lock even after Save then you can call lr_entity->lock( ) method at the end of SAVE method by enhancing it. ( lr_entity is opportunity header entity )
Or you can just call interaction end method at the end od SAVE method to clear complete IC context along with SAVE.
Best Regards
Sandeep Kumar B