Maybe you need to have a look at your dat file to see if it have write permissions on? Sometimes when you copied files these things changed and can cause this kind of errors. Right click your .dat file and check properties - security.
You can also compare these permissions on the .dat file on the hdd where it works with the .dat file on the hdd were it not works.
Maybe it can solve the problem.
They are the same.
Ok let me get this straight. When moving to a new folder/hdd i just have to copy the wallet.dat file right? If not then what any other file do i need?
What happens if my wallet.dat file is corrupted and i have all or some private keys for addresses from wallet.dat file? Let's say i have 5 wallets, and i have privkeys for 2-3. If i have 2 bitcoins and i spend 1 from one of the addresses which i have the privkeys then bitcoin-qt is moving the 1 bitcoin left to a newly generated address? If yes and i import the privkey of the original address then i will have the remaining 1 bitcoin or do i have to own the privkey of the newly generated address?