While they can often be translated as "nearly" or similar, fast and knapp are not in fact synonymous. fast x implies that the boundary x has almost, but not quite, been reached. knapp x means that the actual number is around, not more and not much less than, x. E.g.
Das war knapp!
"This almost did not, but in the end did, happen."
Das wäre fast geschehen!
"This did almost, but fundamentally did not, happen."
Ich habe knapp 20 Euro. Vielleicht so 21, 22.
"I have approximately 20 Euro. Around 21, 22."
Ich habe fast 20 Euro. Vielleicht so 21, 22.
A very odd sentence pair!
Thus, in the text you cite, almost up to, but not yet 100 people died and approximately, and not much more than 250 people were wounded.