Acabo de recibir una solución de Massimo Di Pierro en el foro Web2Py . Dedujo la causa y proporcionó una solución alternativa.
No estoy seguro si se necesita "importar pyodbc". Una vez que se asignó el controlador, permaneció, incluso después de reiniciar el servidor.
# Test if the mssql driver is assigned. Sets it up if it isn't.
import pyodbc
from gluon.dal import MSSQLAdapter
if not (MSSQLAdapter.driver):
MSSQLAdapter.driver = globals().get('pyodbc',None)
db = DAL('mssql://testUser:[email protected]/testDB')