So I was playing an online game, and I attacked with my 4/4 lifelink Voracious Hatchling (it had 2 -1/-1 counters on it). He blocked with his 0/2 Hedron Crab. At least we agreed that the Crab was taking lethal damage. But then when I added 4 to my life total, he said I only gain 2 life, as the "extra" points of damage weren't dealt. I disagreed - who is correct?
You are correct. In general, an attacking creature assigns combat damage equal to its power even if that damage would be more than enough to destroy its blockers (C.R. 510.1a). Therefore, Voracious Hatchling assigns 4 damage, which is then dealt (C.R. 510.2), causing you to gain 4 life (C.R. 119.3f).
Lifelink and Excess Damage