CPU time is restricted on shared hosts too. Usually you get a server timeout after 30sec. Hundreds of website can be host on one server. This is why one script can't take over cpu resources for a long period.
PHPMyAdmin have this option when importing large MySQL db files :
Allow the interruption of an import in case the script detects it is close to the PHP timeout limit.
I can import large MySQL file via PHPMyAdmin ( 30MB + )with this option set. It monitor ressources, stop when neat timeout, restart until done.
Can be a clue