There is an implicit transaction for every delete/insert/update command. Therefore I have much better success doing the following:
set rowcount 10000;
-- do delete here;
set rowcount 0;
When trying to delete a full table in one shot, it requires too many resources (tempdb, logging, memory, etc). Just delete large chunks if you have a wimpy server.