I can sympathize. I have been around the block with this more times than I care to think about.
What you have to do first is to figure out if the problem is with your host, with your site, or both. Traffic isn't the only thing that determines how much CPU time your site will use. It also depends on the theme you're using, how many plugins you have installed, etc.
Sadly, there are a number of hosting companies that "oversell" their unlimited disk space, unlimited bandwidth hosting packages, then try to get you to spend more for a more robust hosting solution as soon as you get your site built. If you're with one of those hosts, the best thing to do is to change hosts. There are lots of hosts that offer free transfers, so you can get help moving your site, especially if it's hosted on a cPanel server.
The other thing that I have had happen is to have a site so aggressively crawled by bots that it got suspended by a host for CPU or memory usage. If you have access to something like Awstats on cPanel, or some other logging system that shows the number of page views/bandwidth by IP address, you may find that some excessive traffic is what is causing the problem. Blocking those IPs, adding a honeypot to trap them, or modifying your robots.txt file to slow legitimate web crawlers may help.
The next thing you need to do is make sure your site is running efficiently as possible. Take a look at the article Optimizing WordPress in the Codex. One of the most beneficial things you can do is start using a caching plugin like WP Super Cache to cache pages.
You need to run wp-cron.php occasionally. I don't know how your host disabled it. The usual way is to add the following to the functions.php of your theme:
They might have done it some other way, so you may need to ask them. If you have access to cron--maybe via cPanel--you can always leave wp-cron disabled in functions.php and change wp-cron to an actual cron job run once an hour or so instead of letting WordPress trigger it itself. That can save some CPU time, too.