Sadly it all points to the same thing, them doing a bad job.
Innodb would help on the mysql side, if not and for some reason you have to keep using myisam, then yes they should be properly configuring the database server to handle things like temporary data properly, at the very least have a look how it was configured on the old server and carry the settings across. Character issue is very likely down to character set (UTF8 support), Cloudflare can do filtering on a free account (its even turned on by default and configurable), and you can also do regional filtering via iptables (firewall) natively on the server.
All these things any competent remote hands service should be able to handle, and I dont think I am the only one frustrated with how you have been treated,
The thing to be wary of with cloudflare though is you do have to give them control of your DNS, so them handling the A records, although you will be able to edit them as normal, just will be done from their control panel. They will on migration automatically configure it to match the existing DNS configuration to make the process easier.