I'm assuming you setup root by putting the key in /root/.ssh/authorized_keys too? It is not uncommon for there to be permissions issues that cause the authorized_keys to be ignored for users.
Verify that ~/.ssh/ is 700 and verify that ~/.ssh/authorized_keys is owned by the user and 600:
$ cd ~/.ssh/; ls -ld
drwx------ 2 somedude somegroup 4096 Aug 21 21:09 .
$ ls -l authorized_keys
total 52
-rw------- 1 somedude somegroup 4324 Oct 14 2010 authorized_keys
If that all looks good and it still doesn't work change the LogLevel in your /etc/ssh/sshd_config to DEBUG3 and restart sshd:
# grep LogLev /etc/ssh/sshd_config
LogLevel DEBUG3
# /etc/init.d/sshd restart
Now try and ssh to your box. You should get syslog output that will hopefully point you at the issue. If you are having problems seeing the debug output in any logs, try just stopping sshd and running it on the command line:
# /etc/init.d/sshd stop; sshd -d
(be careful here, the sshd will die after the first connect in debug so restart it quickly otherwise ssh will be down on your box...)
If it isn't clear what the issue is still post the debug output as well as the output of ssh -v username@server into the question.