Technicomp has some good training that I have used in the past for problem solving. I know that isn't exactly what you asked for, but to my mind it goes pretty much hand in hand.
For root cause analysis, you need to remember these steps:
1. Define the problem. The problem as seen by the initiator may not be the "Whole" problem, it may not be anything more than a minor symptom.
WHAT went or could go wrong
WHO is affected, try to include every possibility
Is it sporadic or continuous, WHEN does it happen?
HOW did it happen (see step 2, this is the beginning of the identification of root cause)
2. Identify the cause. WHY did it happen, why did it not get caught etc. A lot of systems work using the 5Ys. Ask yourself why after each why you come up with for at least five whys. In other words, until you can no longer come up with any more answers.
A great way to use root cause analysis is to get others involved when you perform it. Get input from all or many departments.
If you do a good job of getting many areas involved and show that the company (management) is interested in looking into change and implementing what they can, you often end up with a staff of people who find it is much more satisfying to identify the root causes before a nonconformance happens (preventive actions).