Well here are some quick ways of solving your “cron not working properly issues in drupal”
It has a semaphore which blocks the cron running, in my case the PHP script ran for too long and ate up too much memory. I needed to modify my php.ini to ensure that it could take up more memory.
Another issue was that you needed to delete a certain variable in the Drupal database, use the following for a quick resolution to the problem.
DELETE FROM `variable` WHERE name = ‘cron_semaphore’;
DELETE FROM `variable` WHERE name = ‘cron_last‘;
Another way is to install the devel module and delete the above variables from the database using the UI.
Hope this helps.