To fix the xpchelper issue:
1) Wait for xpchelper to crash. (Even if it doesn't, I think you can still continue as long as the command in step four outputs the expected "different" folder.)
2) Open /Applications/Utilities/Terminal.app.
3) Login as root:
4) Find the correct folder. It should be first on the list and will be in a different subdirectory of /private/var/folders/
than the others.
find /private/var/folders/ -type f | grep -i com.apple.xpchelper.cache
to the desired folder outputted by the previous command:
(Your output will be different.)
6) Remove the cache:
rm -rv com.apple.xpchelper.cache
7) Replace it with an empty file:
8) Make the dummy file read-only:
chflags uchg com.apple.xpchelper.cache
9) You're done! Reboot, and all should be well!
If you ever want to undo these changes, follow the above up to step six; xpchelper will then be able to create a cache again.