I haven't tracked down exactly which rev of what introduces this incompatibility but on my machine the DBI::tables() call returns the database name as well as the table name in the form backquote db backquote . backquote table backquote.
This breaks table_exists() and causes the error "Table does not exist: devices".
I saw someone else was hitting this problem too. http://www.freepbx.org/forum/fop-panel-and-retrieve-op-conf-from-mysql-pl