I use
http://divinityengine.wikia.com/wiki/Scripting for referencing scripting commands. It's for the original, but everything seems to work. I'd recommend you use the editor to edit the scripts which will autocomplete commands and might help you find things easier and point out errors.
Some comments on script.
You may be aware, but damage takes a FLOAT (a percentage of health), not an INT.
Another thing to point out that's really annoying is that "CharacterGetStatusSourceCharacter(__Me,CONSUME,SevereBleeding) is going to get the status source of ANY CONSUME status (e.g., potions or the like) and might give you the wrong character. I haven't found a way around this.
Also I've realized that CharacterConsume only takes the two parameters of the character and the status effect (durat is in the status effect, and force is always 1, basically), not duration and force like CharacterApplyStatus does (but that only works with hardcoded statuses like BURNING, BLEEDING, etc. However, just a thought, you could force, say, burning, bleeding, and poisoned with, for example
CharacterApplyStatus(__Me,BLEEDING,3,1) // the "1" is the force, and 1 will let you bypass immunities.)
All 3 would be pretty significant damage, but obviously some enemies would heal from poison and burning. You could possibly do a check for resistances there and only apply if poison/burning resist is less than 100.
You might want to try CharacterApplyDamage(CHAR,INT_Damage,String_DAMAGETYPE). I don't think it will work since it's a story script, but you never know. Worst comes to worst, you could use story scripting (or a combination of story/character scripting) to make the damage apply.
I think you can store global variables by storing the variables at the top of the script before any events with % signs before the variable. For example, in the "Base" script, you got:
CHARACTER:%LookAtChar
CHARACTER:%AttackOfOpportunity
ITEM:%LookAtItem
INT:%FearFlee
INT:%Following = 0
FIXEDSTRING:%PrevIdleAnim = ""
FIXEDSTRING:%CrawInfest_Faction = ""
EXTERN INT:%SayBlindedText = 1
I don't think that's possible, since as you said, there doesn't seem to be a way to count backstabs or even crits.
Another possible idea is to measure a character's constitution when they have the CoupDeGrace status and use a negative value for "CharacterHeal" to damage them for a percentage that depends inversely on their constitution. That would kind of get around the issue of enemies with high health being affected more by percentage damage than low health ones, since low health ones would take higher percentage ticks than high health ones. Just a possibility.
So, overall, yeah, scripting can be frustrating sometimes. I've found it's best to use the tools available and compromise with their capabilities instead of trying to impose a specific concept on them.