First, make sure both sda1 and hda1 are not mounted when you run the dd command.
Second, for hda, check the drive with the manufacturer's diagnostic utilities which are downloadable from all the majors on their websites. dd can hang like that when it hits bad sectors and the diagnostic utilities can detect and repair bad sectors although running a thorough test can take a long time. Basically, they check every block with writes and reads and mark any block that doesn't pass so the block won't be used by the drive.
Finally, you may want to take a look at partimage for your windows imaging needs as it is faster than dd and more flexible, e.g. images are compressed saving space, only used blocks are imaged saving time and space, image file can be broken down into specified sized chunks for copying to external media, etc:
http://www.partimage.org/download.en.html
For slack, get the static binary and just unzip it and move the executable wherever you want. Partimage works flawlessly on FAT32 and is generally reliable on NTFS even though NTFS support is stated as experimental.