Informix onunload/onload to take a snapshot and then restore
First of all, Informix supports transactions if you create a logged database (WITH LOG or WITH BUFFERED LOG).  Further, it supports transactions (BEGIN) and transaction nesting with SAVEPOINT and COMMIT and ROLLBACK TO SAVEPOINT.

Using onunload and onunload might be workable, but you need to be confident you aren't using blobs (smart blobs), or UDTs (user-defined types).  I'd have to research the details of how to use them for your proposed task; it probably is fiddly.  I'm not sure that I've seriously used either command this millennium, and I didn't often use them in the last millennium either.

If you have several Informix server instances, you could consider using ER (Enterprise Replication) to make a copy of the relevant sections of the database in a separate server, and then do your experimentation on that other server.

If you have shared disks, you might be able to use an SDS (shared disk secondary) node with care.

If transactions are sufficient, I recommend using them rather than the alternatives.  Just ensure you have enough logical log space to be able to roll the transactions back (look up 'long transaction', LTXHWM and LTXEHWM).