У меня возникла проблема, которую я не могу

У меня возникла проблема, которую я не могу решить...
Я купил месяц-полтора назад винчестер (Samsung
SP2014N, 200Gb, буфер 8Mb) и с той поры он нормально не
работал у меня ни разу. Проблема в том что винт не всегда
детектится биосом мат. платы, а бывает "отваливается"
при загруженной ОС. Как результат: в винде появляется
синий экран с надрисью "проблемы либо в хардваре, либо в
софтваре", затем компьютер уходит на перезугрузку и при
загрузке винт может определиться, либо нет. В линуксее в
иксах происходит просто зависание системы с замиранием
курсора, выход один - перезагрузка.
После покупки я проверил винт на наличие badblok'ом MHDD.
Их не было. Температура винта 39-40 градусов при открытом
корпусе (ну просто жарко сейчас), замерялась HDDlife.
Конфигурация компьютера:
M/B: Gigabyte GA-7VR на KT333 (BIOS F4 05.11.2002)
Процессор: AMD Athlon XP 1500+


Память: Hynix PC2700 256 Mb
Видео: GeForce2 MX400
БП: Codegen 250W
Винт весит мастером на primary канале. Остальные
устройства были изъяты до лучших времён. Сначала я считал
что проблема в БП (всё-таки Кодеген...), с другим HDD -
Seagate IV 40 Gb не возникает таких проблем. С учётом
того что у "селёдки 4" энергопотребление повыше будет.
Разброс по напряжениям:
по цепи +12: 12,16 вольта (по биосу платы)
по цепи +5: 4,86 вольта (по биосу платы)
Для Кодегена нормально,не скачет. Тем более БП всего
полгода.
Потом думал шлейф - перепробовал 2 штуки (80-жильных).
Нет не шлейф.
Теперь считаю, что виновата M/B. По идее плата с чипсетом
VIA KT333 и южным мостом VIA VT8233A должна поддерживать
АТА-133 и следовательно 48-битную адресацию, т.е.
понимать винты более 137 Гб. Биос моей платы когда
определяет винт, то размер показывает 200,1 Гб. На
форумах читал, что для нормальной работы винтов биос
платы должен правильно определять размеры и остальные
параметры. Вручную выставить 200 не получиться - максимум
137, поэтому работает в положение только Auto. Поэтому
при каждой загрузке/перезагрузке винт снова auto-detect-ится.
Когда не определяется в процедуре POST можно успеть уведеть
строчку Not detected. Ну вроде всё описал... И ещё! От
греха подальше винт был отсоединён и отдан в машину с
другой конфигурацией (Gigabyte 7N400, AMD 2500+, Radeon
9600, InWin 350W. Там он работает на ура и таких проблем
не возникакет... Получается, что винчестер исправен и
проблема где-то в другом железе.
Недавно попробовал тот самый InWin на 350W - ничего не изменилось, не всегда детектится по-прежнему. Теперь я точно уверне что дело в прошивке. Может что посоветуте по этому поводу?