Masbro, sounds like a bait and switch tactic, which stinks. However, you can now approach it from 2 additional angles for your client: 1) Have them pay for 1 month of cPanel access at that $45 rate, then get in there, take a complete back up of the website files and database file (if a CMS like WordPress) and then create a new web hosting account in HostGator or GoDaddy or anywhere feasible to your client and a server you're used to working in. Or 2) Just request from that company a full, most recent backup copy of the website files and DB and then you can upload those files to a new host as noted above, then change the DNS records for the domain to point to the new server. I'd find out that cost and see which is the cheaper alternative, however, either way, I would get your client away from them and cancel any monthly fees. Move on and with you by their side!
NOTE: Careful with the email hosting. So make sure you know where their email is hosted if using the same domain. If setting up a new host with their backup copy, then you can figure out the Mail settings/MX records as needed to make any modifications necessary.
Hope you get things resolved! It sounds like they are willing to play ball, so that's a huge plus for you and the client.
- Patrick