In a shared hosting you can be one of 50, 100, 200 or even more sites. The server has to make sure nobody will lock the system. As a result PHP and most interpreter running code will be limited. This is my explanation. It is also the reason why it doesn't work the same way for everybody.
Note that you can also upload a list via FTP. The command is:
../lm/lm.php?cmd=import&list=list1[;list2;...]&pwd=password&action=update|overwrite[&dups=1]
This command allows the administrator (you) to import one or several lists previously uploaded to your server with an FTP client. MLM expects the lists to be available in the 'imports' directory at script level. If that directory doesn't exist just create it. Upload your list(s) to it and run the command. Recipients will be imported to the list(s) listed in the 'list' parameter. Set action to 'update' in order to add recipients to a existing list(s) taking care of duplicates. You can allow duplicates by adding the optional '&dups=1' parameter. Set action to 'overwrite' if you want to replace all the recipients in current list(s) with those new entries. Once done the script will output import results. Your list(s) must be tab delimited list(s) with at least the 'First name', 'Last name', 'Company' and 'Email address' fields in that same order. NOTE: List(s) are not deleted from the 'imports' directory, you have to do that manually after you have finished with the import process. For security reasons don't let those files there!
Note that a command is made of parameters, 'cmd' is the command name and it is required. 'list' is the list name(s), 'email' is the email address involved in the command and 'pwd' is the administrator password. Optional parameters (or parts) are enclosed into brackets. Remove the brackets to include a parameter or remove the parameter and its brackets if you don't want to use it. Do not use a command with optional parameters enclosed into brackets. All commands are delimited with an ampersand but the first one. In fact the script name 'lm.php' is separated from its parameters with an interrogation sign. There is no specific order for parameters. Parameter '&list=list1[&list2;...]' means you can place one or several lists separated with a semicolon. Some optional parameters can change the command functionality.
There are plans to add this upload method into MaxBulk Mailer as an alternative to the HTTP upload. I believe it will be faster and will give less problems.