The database isn't the issue, it is the operation of the perl that handles quests. Time for a little perl 101 I think!
Code:
if (plugin::check_handin(\%itemcount, 10032 => 2, 10000 => 1)) {
quest::say("Here is your prize - a lambent star ruby.");
quest::summonitem(10117);
quest::faction(320,5);
quest::faction(291,-15);
}
this is a standard turn in, lambent star ruby. It checks for all the items to be turned in at once. Now, it
might be possible to enable chaining of quests, but it would require a rewrite of -every- quest in the game, which is several thousand. It would involve adding a global variable for each item turned in for the NPC and then cycling that variable out when the last item is turned in... This could also change writing a quest from probably 30 minutes to several hours.
None of us on the project were familiar enough with perl when we started, or the emulator in general to be able to see this possible caveat. But as a rule, the system just doesn't allow for quest chains out of the box. I've never tested this hypothesis either and I might not even work how I have it laid out in my mind and not work at all. Using the plugin is what allows for item returns on a bad turn in as well and would go away.
In essence it is a double edged sword and a Pandoras Box that I'm not sure we are capable of opening based on staffing levels & time requirements.