I think the original Half-Life used stencil shadows - I guess that was the most advanced option available in 1998? Counter-Strike on the other hand rendered a grey circle sprite under players (looked okay enough - approximated the vague shadow you get when under multiple light sources).
I think early versions did but it was supposedly removed because shadows were cast through walls in multiplayer (which was unfair). The code is definitely still in the engine, behind a cvar which isn't exposed to players.