The problem seems to be that you all try to spent some extra lives when the points reach the EXACT value of 25000 points. But what happens when the player has 24999 Points, shoots an enemy and gains 10 points for this enemy? So, you need a boolean variable that tells you if you already gave bonus lifes for reaching 25000 points.


Code:
if (Points >= 25000) and not XtraLife25k then
begin
  inc(Lifes,2);
  XtraLife25k := true;
end;
This way you will give 2 extra lifes ONCE and in EVERY CASE when the player reaches 25000 or more points.

Same should be done with 50000 then....


EDIT: You should of course use an array of bool when attaching this behaviour to every 25000 points.