Try to boot to the Last Known Good Configuration.
If by recovery mode you mean Safe mode, then if this is working then you can use System Restore to rollback your system to a time before this problem started.
The fact that Safe mode is working means that a third-party program is getting stuck during the boot. You can use autoruns to turn of startup programs until you find the guilty one, and also you can take a backup of the current state that you can later easily restore.
Control Panel / Add/Remove programs can tell you the date of installation. It might be that the date of an installation corresponds with the time the problem started, and so pinpoint the problem.
A free product that specializes in boot problems is Paragon's Rescue Kit 9.0 Express:
Boot Corrector option resolves various
problems you may encounter during the
system boot process. These problems
may be caused by program errors, user
mistakes, or become the results of
boot virus activity. Boot Corrector
allows you to cure the majority of
boot problems for Windows Operating
System and gives you access to your
You might give it a try.