OK guys. Neither of you are technically in the wrong here but there is an issue.
At our work we develop on multiple operating systems. One of our developers works on a Windows machine under WAMP, I develop on OSX under MAMP and we deploy all of our apps on to a CentOS server (LAMP).
Now the issue, which i wasn't aware of until trying to troubleshoot this problem, is that when you create tables from a php script on a windows machine running WAMP, for some reason, it forces all table names to lower case. I have tested and confirmed this. This means that when you go to dump the database to a unix based system for
deployment it stays as lower case but the php script is still looking for the upper case characters.
As windows isn't case sensitive this isn't an issue, however all unix based systems are. So, if you never cross over operating systems when you are developing with wordpress (or anything else really) you'll never have this problem.
Best thing to do would be to ensure you always develop with this in mind, especially when creating your tables. Very annoying but an unfortunate fact at the moment.
TL;DR - when creating a wordpress plugin it's best to name all of your tables in lower case.
EDIT: This is how we solved our problem. We modified CF7DBPlugin.php...
This might not work for everyone but it definitely fixes our problem.