AC_CHECK_HEADERS in realtà esegue un controllo di compilazione, non un controllo di esistenza. Quindi devi impostare il supporto C++ per i test di compilazione in modo che le intestazioni boost possano essere compilate (l'impostazione predefinita è C, documenti qui):
AC_LANG_PUSH([C++])
AC_CHECK_HEADERS([boost/foreach.hpp], [],
[AC_MSG_ERROR(You need the Boost libraries.)])
AC_LANG_POP([C++])
C'è anche una raccolta di macro Boost autoconf nell'archivio GNU Autoconf. Probabilmente avrai bisogno di almeno AX_BOOST_BASE. Ci sono anche altre macro per le altre librerie Boost.