Wow.
About the no blood thing - the original HL code
actually has exceptions for german language in the parts responsible for violence stuff. Fuck knows why.
Quoted from combat.cpp (the part of hl.dll which has the most control over blood/gibs/violence stuff):
if ( g_Language != LANGUAGE_GERMAN && m_cBloodDecals > 0 && m_bloodColor != DONT_BLEED )
{
vecSpot = pev->origin + Vector ( 0 , 0 , 8 );//move up a bit, and trace down.
UTIL_TraceLine ( vecSpot, vecSpot + Vector ( 0, 0, -24 ), ignore_monsters, ENT(pev), & tr);
UTIL_BloodDecalTrace( &tr, m_bloodColor );
}
This is responsible for leaving a blood decal where a gib touches the ground. I always thought it was just some joke-ish debug feature.. ;o