Hey Hrnchamd,
I was wondering if looking at a bug in the GetWeaponDrawn function was in the scope of MCP. Here's MW Scripting for Dummies take on the problem:
GetWeaponDrawn will return 0 at some unusual times; when a lock pick or probe is removed through scripting or when it is broken, GetWeaponDrawn will return 0 for a few frames before you switch to Hand-to-Hand. When fighting Hand to Hand, when you equip or remove a piece of armor or clothing, GetWeaponDrawn will return 0 briefly. Thanks to Bj?rn and DinkumThinkum respectively for pointing this out.
I would also add that you get GetWeaponDrawn returning 0 when the player runs out of thrown weapons, or if the weapon breaks.
Looking at the behaviour in my scripts I would suggest that the GetWeaponDrawn function returns 0 for WeaponType -1 (fists) while the 'fists up' animation is playing, then it returns true. All other weapon types return GetWeaponDrawn as true for all frames the player is in fight mode.
I'm working with Sandman on an extensive sheathing mod, which includes sheathing off-hand weapons and a related script that slings the player's shield on their back until they draw a one-handed weapon. Adding in workarounds for this bug is becoming an irritation, and adding if, elseifs conditions I could really use to spare as TES Script limited to 255 conditions per script.
A patch for this would be most welcome if it's something you want to add.