It probably involves the way Test::MockObject replaces UNIVERSAL::isa and UNIVERSAL::can with it's own stuff. You really should not use this module from a non-test class. Both Class::DBI and Test::MockObject do a lot of perilous things in their code, so you are likely to discover other compatibility problems after solving this one.