Sounds like the problem is with your route changes. I think the routes_onerror needs to be inside of the routers dict. Make sure to restart web2py after you edit routes.py.
routers = dict(
BASE = dict(
routes_onerror = [
(r'*/400', r'/init/default/doesnotexist'),
(r'*/404', r'/init/default/doesnotexist'),
(r'init/*', r'/init/default/error')
]
)

