Okay, I think I may have a better handle on things.
What I need to kill is the 1:1 relationship between problem and quest, and there shouldn't be a quest type "problem". The strength of the problem system is that it can define problems which are complex and intertwined with each other, unlike the quest system which is lower-level. So, problems should generate quests, but the quest engine itself shouldn't know about the problem system. This eliminates a lot of complexity. For instance, the most simple example, suppose that person X has desire for $500. The problem system decides that they are poor. It could just give a quest to person X asking for money. Or, it could create a quest for person X that basically gives information that they are poor, but won't accept cash; however it gives another quest to Y who is friend to X who wants to give them the money. The quest system itself doesn't have to know anything about the actual layout of the problem. Instead it just has a hint quest on the main person X, and a money quest on the second person Y.
What this actually means is also that I can/will simplify the quest system to where it doesn't really do anything on it's own (i.e., you don't just create quests willy-nilly). This is actually the best way of using it. Quests are really just like specific behaviours that NPCs can have.
Ok, this makes most sense.