As I wrote on the mailing list, flags should not be migrated to the transaction after t_newtran() unless one uses t_flush_flags() -- that was the desired functionality, otherwise t_flush_flags() has no purpose.
You opened another item on this tracker related to this unexpected behaviour (#1490), and I think it is better to sort this out there, because that is the unexpected behaviour. xflags behave as expected. Whatever will be the conclusion of #1490 will be applied to both flags and xflags, but makes no sense to track an issue with two separate items.