Конечно работает если залочить/дизмонтировать том. Это документированный способ. Но это не всегда возможно, например системный том вы залочить не сможете.
CreateFile ограничен в Висте и последующих версиях винды - ипользуйте ZwCreateFile, он лишён этих недостатков.
Видел описание данной темы на одном из блогов, но не могу вспомнить где. Увижу отпишусь. Ищи мастера по дефраг. программам, они в курсе этих движений.