Hola:
¿A que dimensión te has ido?, yo con vivir una mílesima de mes de esos tuyos me conformo.
No se como te puede dar eso. Podrías poner el código que estás utilizando para ver el error.
Yo he probado con esto y me da 31 y 28.
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(IntToStr(DaysInMonth(Now)));
ShowMessage(IntToStr(DaysInAMonth(2004,2)));
end;