take a look in this documentation about return police and
ResultConverterGenerator.
http://www.boost.org/doc/libs/1_39_0/libs/python/doc/v2/reference.html#models_of_call_policies
For this specific case you can use this one:
http://www.boost.org/doc/libs/1_39_0/libs/python/doc/v2/manage_new_objec
We also had problems with passing numpy scalars to C++ using Boost (1.35 and
before). Sometimes it succeeded, sometimes it failed depending on the data type
and if your are on a 32-bit or 64-bit system.
AFAIK Boost does not handle numpy scalar data types, so you have to do the
conversion yoursel