Question: If my main crontab runs the magento cron.php every 30 mins and i have a cron job set in a modules config.xml to run every 15 mins. Will that mean the modules cron gets run:

1. Once every 30 mins
2. Twice every 30 mins

Answer: 
There are a swath of configuration options for cron in the Magento admin under System Configuration -> System -> Cron. The one titled "Missed if Not Run Within" is, by default, set to 15 minutes and will affect what you're trying to determine. With this set at it's default of 15 minutes…

…the job scheduled for every 15 with crontab executing every 30 would (theoretically) be run only once per 30 minutes with the job scheduled for the 15 minute mark being marked as missed. However, this cannot be relied on, as the timing of the cron cycle being off by a few seconds could land it occasionally within the 15 minute period and run it twice in one cycle. So don't *rely* on it only running once every 30 minutes.

My suggestion would be to set the crontab to run every 5 minutes, then control the jobs actual scheduling using the [AOE Scheduler](http://www.magentocommerce.com/magento-connect/aoe-scheduler.html) module... which I've heard so much about, but haven't yet used it much myself. :)
I would say once.

But dont understand why you run cron.php only every 30 min instead of every min.