Recompile Python and SANE with debugging enabled, if you haven't already. That should allow you to trace back to the source of the error using gdb (or your favorite gdb front-end). AFAIK there's no inherent reason that embedding Python in a shared library wouldn't work. Did you try compiling the outline of the shared library without the PyInitialize call? Is it possible that the segfault had nothing to do with python?
-- http://mail.python.org/mailman/listinfo/python-list