It's a hard problem. I had an instructor at Uni that gave some advice in this regard that has stuck with me (which probably won't help you much, but there you go). People don't like their code criticised because they see it as an extension of themselves, so, if you can, try instead to think of your code more as your child - it needs to be strong to survive when you're not around; and criticism helps make your child stronger. Separate it from your identity and some of the sting goes away. This really only helps in taking criticism, though.
I find it helps (a little) to do code reviews through tools instead of face-to-face. Smart Bear software have a pretty good (and free) code review tool. And try to only criticise things that matter; resist the urge to nit-pick as much as possible. Have a coding standard, to help justify your critiques and make it less personal.