Otra posible manera de hace lo seria poner el primer dia de la fecha del siguiente mes y restandole 1 nos daria los dias.
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
fechaUsar : TDate;
ano, mes, dia : word;
anoComprobar : string;
begin
anoComprobar:= '2007';
fechaUsar:= strtodate('01/03/' + anoComprobar) - 1;
DecodeDate(fechaUsar,ano,mes,dia);
if dia = 29 then
ShowMessage('Bisiesto')
else
ShowMessage('No es bisiesto');
end;