well, if you do it at the tex end, the 'next' shipout (i.e. the one triggered by bye or end) is quite ok as it is unlikely that changes to the catalog will happen afterwards (e.g. user will not change info fields etc after their last bye)
But there may be layers (or other interactive stuff that lives in root structures) not referenced so far.
even if you hook it into some finalizing lua code there are pitfalls
on the agenda, that is once the backend code is mostly redone) there will be finalizer callbacks for the catalog, but we delayed that because it will be part of more finalizer code (and temporary solutions can change and in turn result in messy debugging of existing code because timing is so important here)
Sure.
(hm, i could make a nice technical talk about this for bachotek if there is any interest at all in such issues -)
Please do! If you haven't got call for papers, you'll get it soon. On behalf on prog committee. -- Pawe/l Jackowski P.Jackowski@gust.org.pl