Por suerte podemos saber de antemano, los días que tiene cualquier mes, excepto febrero, para solventar este problema existe la función:
Código Delphi
[-]
function IsThisLeapYear: Boolean;
var
Yr, Mnth, Day: Word;
begin
DecodeDate(Date, Yr, Mnth, Day);
Result := IsLeapYear(Yr);
end;
En D5, está declarada en la unidad sysutils, en otras versiones existe la unidad DateOutils.
Un Saludo.