The reason autoreconf runs autoconf before autoheader is that the former typically gives better error messages than the latter. autoheader before automake helps avoid a message from automake about missing config.h.in.
Yes, I saw that in the autoreconf sources. I think it would be worth adding to a manual, along with the recommendation to use autoreconf. If autoreconf doesn't work for some project, then we'd like to know why, so we can fix it. It really should be used. Well, I guess I will have to find time to reproduce the problems I have had with it, which all related to autoreconf overwriting newer files (e.g., gnulib's texinfo.tex, config.*, install-sh, etc.) with older ones. We discussed it years ago but I don't have the details any more. karl