In addition, deleting a smaller batch is faster. This helps to avoid blocking the other processes as the deletion will not hold the table for too long.
May add waitfor 5 seconds in the while loop after each batch. Just give the other process a chance.
Agree with ALZDBA, partitioning is a way to go for 2005.