The upgrade path D5->D6 is potentially broken, as described below:
During update 6001 the function _filefield_update_6001_move_operation is executed repeatedly within multiple client-server roundtrips. It is supposed to update rows in batches of 50 while keeping the progress meter running. It is possible for this process to get stuck if the query condition "vid > %d" for the while loop (filefield.install:310) results in zero rows being returned. In this case the line $context['sandbox']['progress']++; at filefield.install:327 is never executed, and the progress meter never reaches completion. The user sees something like "Remaining 34 of 34...", the web server being hit with many requests, high CPU usage and the same database query being executed over and over again (because of the roundtrip the script is never aborted due to max execution time limit, so the server is pounded as long as the browser remains open).