do you have any other user accounts on your pc??
does the issue occur in the other accounts??
if not other accounts, then create a new user account, log into the new one, transfer your files and settings to the new account and delete the old account, there may be a corruption in the old account that is causing this issue.
Or, you could run checkdisk:
http://support.microsoft.com/kb/315265/en-us
How to perform checkdisk
if you do not have Recovery Console installed, then run from the start menu
go to start, run, type in cmd
in cmd type in chkdsk c: /r and press enter
type Y for yes and press enter
type exit and press enter
restart pc, allow checkdisk to finish and run again
this is a lengthy process depending on the size of your harddrive, the percentages will fluctuate, this is normal, you can view report in the event viewer.
go to start>run> and type in eventvwr.msc, click on the applications directory, and in the right hand panel choose winlogon.