i think HDtoolbox can do this, just big drives can take tiiiiime. i think it might blow away any data on the drive, but it should have sumfink loike "verify data blocks" as one of the first options when you run it. this should update the drives block listing to show any bad blocks as unusable to the drive.
other than that, if its a scsi drive and you have the access at work, i chucked a 4.3Gb into a unix station and it marked the bad blocks "out of service" actually on the HD itself. so that they were invisable to the computer just the drive adjusted its capacity to take into account the removal of these blocks. clever stuff. down by 300Mb, but still useable

other than that one of my 12Gb'ers i ripped out of a laptop as a dodgy section at the very begining of the drive and my A1200 wouldn't boot

, so just havn't got it used in a partition but with 12Gb i'm not exactly gutted about 50Mb
might be a dell diagnostic partition or something.