Hello Jürgen,
as BOPF is reusing instances of the classes of actions/determinations/Validations, you have the issue that older messages might be still contained in your local message object (as you mentioned).
We thought about this point in the past and I personally also would prefer some bound IO_MESSAGE importing reference variable. However, today it is an exporting parameter and a change of that interface removing that EO_MESSAGE would be not compatible.
Best regards
Tilmann