SQLAlchemy uses __import__ to find dialects, in a message on the mailinglist the maintainer mentioned:
and this used to work? if you're using 0.7, it uses a fairly primitive system based on __import__(). you'd want to make sure py2exe is putting every .py file under dialects/ into the final package.
The thread was about py2exe, but the same is true for py2app