Halo 2 has cache content in E:\Cache and X, Y and Z drives.
Try clearing your X, Y and Z drives, and the aforementioned cache folder, and see if that fixes your problem.
I personally wouldn't lay it on a dying HDD, seeing as your other games work fine... A friend of mine had similar problems (maps took ages to load, loading bar at startup) and it was a simple cache delete which did the trick.
Hope this helps.
EHosin
p.s. If you want to delete the map packs/halo 2 saves, you can do that in the memory section of the Xbox Dashboard.