AC_CHECK_HEADERS führt tatsächlich eine Kompilierprüfung durch, keine Existenzprüfung. Sie müssen also die C++-Unterstützung für Kompilierungstests einstellen, damit Boost-Header kompiliert werden (Standard ist C, Dokumentation hier):
AC_LANG_PUSH([C++])
AC_CHECK_HEADERS([boost/foreach.hpp], [],
[AC_MSG_ERROR(You need the Boost libraries.)])
AC_LANG_POP([C++])
Es gibt auch eine Sammlung von Boost-Autoconf-Makros im GNU-Autoconf-Archiv. Sie benötigen wahrscheinlich mindestens AX_BOOST_BASE. Andere Makros für die anderen Boost-Bibliotheken sind ebenfalls vorhanden.