This is an engine bug. Newer graphic cards, especially nvidia series lag hidously when playing D2 reaching low FPS, I have this for both a 7800 GTS and 8800GT, which at full power can run TES oblivion decently (the GT topels TES oblivion with rendering it at max settings with AA on).
This can be fixed thou, you have to change render mode from "Direct3D" to DirectDraw". This does lower graphic quality a bit but appon doing this, it should never lag no matter what and never go below 60 FPS if your PC is healthy.
Honestly this is a joke as a geforce 4 card maxes the game yet a 8800GT lags at max in Direct3D. I think it is due to the way the engine was optimized, it uses a method of scaling the graphics which is lag prone for displaying the graphics on modern cards, probably due to the addition of better render methods to the method after D2 was made which were costly. This is best seen when you compair direct3D mode on an old PC (which runs it fine) and a new PC (which lags) as the 2 do not look identical.
Anyway, the fix I listed of changing to DirectDraw render is a garunteed fix as long as your PC is healthy and I comfirmed it on 2PCs.
I do not know if this works on ATI cards thou as I do not have any modern ATI card which could be used to test this or even see if the problem occurs in the first place.