I don't see anything in that thread that suggests this is a bug. I think Steve's statement that the limitation can be worked around by using make_variant_over is no longer valid, since some pretty crucial variant visitation code uses preprocessor metaprogramming and BOOST_VARIANT_LIMIT_SIZE is central to this (take a look at BOOST_VARIANT_VISITATION_UNROLLING_LIMIT in visitation_impl.hpp). Perhaps this is something new since that thread (2008) - however I don't see anything in the release notes from 145 to 147 which would suggest that something changed here (145 is the version I upgraded from when this last worked for me). It may be possible to just define BOOST_VARIANT_VISITATION_UNROLLING_LIMIT and get the desired effect.

2012/2/22 Igor R <boost.lists@gmail.com>
> Although it affects the variadic form of the mpl containers, the limit for
> variant types is set from the BOOST_MPL_LIMIT_LIST_SIZE macro.

Take a look at this thread:

So, despite the workaround you found, it seems to be a bug.
Boost-users mailing list