OK, I fixed my fetching problems, this is what I did.
First go to Settings > System and change the default log level to Debug.
Now you can see all the cron jobs when they are executed by going to System > System logs.
Add a cron job like this, without the nobody as the documentation says (with nobody my cron was not running)
*/1 * * * * /usr/bin/php /var/www/supportXX.xxx.com/public_html/api/cron.php
This will fetch emails every minute. I run this cron with root.
You will now see all the executions in System logs.
Now go to Emails > Settings and enable Email Fetching, you can disable Fetch on auto-cron as this is useless as you are fetching emails every minute or whatever interval you have put. I would use fetch on auto-cron if you can't setup a cron as this will fetch emails randomly when agents browse inside of osTicket.
Once you've got this working, you should have 1-2 mins lag on fetching emails, but I think that's ok.
Change the log level back to Warn.
I hope this helps you.