I'm typically fairly good at this stuff but in this case it took me a while to get my crap together...
When I found the instructions on the rule_values table somehow I missed the fact that the rule_sets table is also required. I been running a server for a couple months now and just last week figured all this out and got corpses sticking.
Here are my settings from rule_sets and rule_values that finally got my corpses working correct.
Code:
INSERT INTO `rule_sets` (`ruleset_id`,`name`) VALUES
(1,'default');
INSERT INTO `rule_values` (`ruleset_id`,`rule_name`,`rule_value`) VALUES
(1,'Zone:EnableShadowrest','1'),
(1,'Zone:GraveyardTimeMS','1200000'),
(1,'Character:MaxLevel','65'),
(1,'Character:DeathExpLossLevel','6'),
(1,'Character:LeaveCorpses','true'),
(1,'Character:CorpseDecayTimeMS','10800000'),
(1,'Character:LeaveNakedCorpses','true'),
(1,'Character:ExpMultiplier','1.0'),
(1,'Character:AutosaveIntervalS','300'),
(1,'Guild:MaxMembers','2048'),
(1,'Pets:AttackCommandRange','200'),
(1,'GM:MinStatusToZoneAnywhere','0'),
(1,'Combat:ClientBaseCritChance','0.0'),
(1,'Spells:SpellAggroModifier','75'),
(1,'Spells:BardSpellAggroMod','3'),
(1,'Spells:PetSpellAggroMod','10'),
(1,'Combat:BaseCritChance','0.00'),
(1,'Combat:WarBerBaseCritChance','0.03'),
(1,'Combat:BerserkBaseCritChance','0.06'),
(1,'Combat:NPCBashKickLevel','6');
Having the ruleset_id = 1 and the ruleset defined in the rule_sets table was the fixer. The samples I installed had everything set to zero ruleset_id and nothing in the rule_sets table.
Hope this helps out.