wouldn't that just be the default behaviour for forms? e.g. if you change something in the form (entered data or updated data), then it assumes you have changes to save, so it says 'transaction complete..." It does not depend on what you are doing in your procedure. as far as it's concerned, you made a change in the form, so it will attempt to commit when you commit.
the items that you are taking user input for (text items for instance), are they part of a database block? Can you move them to a control block?
If not, you might possibly be able to set the record_status to 'QUERY' with the set_record_property built in. That way the record won't be marked for insertion or update.
i don't actually know if that will work but you might give it a try.