If you do 3 then 4, you are opening [1] the file twice and loosing the first handle. So that handle from createfile can only be closed by exiting the application itself - as the handle for it is lost.
[1] Ok, technically, creating, then opening - but that's two handles opened for the same file - print out the handle after you've called CreateFile in each case.
--
Mats