You could look in Disk Utilities SMART data fro your hard drive to see if there are any errors .. you can start Disk Utility from the terminal (Ctrl+ALt+T) by running:
But I'm more inclined to think this is a user config issue in your home directory somewhere .. can you add a new user account, and test if everything works in there.
To add a new user account ..
Open a terminal and run:
In the window that appears, hit the Add
button (you wil be prompted for your password) .. in the next Window, give the Account a name and username, then click OK
.. in the next window, set a password by hand but DO NOT tick "don't ask for password at login", click OK.
Back in the original "Users Settings" window .. click Change
next to "Account Type", and change it to Administrator.
Now close "Users Settings" .. and log off .. you should be offered the new account at the login screen, log on as the new user and tell me if everything works in that account.