Hola Anel.
No alcanzo a ver claramente la situación que planteas, pero realizá una prueba simple:
Código Delphi
[-]
uses DateUtils;
procedure TForm1.Button1Click(Sender: TObject);
var
FechaAux: TDateTime;
i: Byte;
begin
FechaAux:= StrToDateTime('13/7/2005 00:00 p. m.');
with ListBox1.Items do
begin
Add(FormatDateTime('dd/mm/yyy hh:mm:ss', FechaAux));
Add('--------------------');
for i:= 1 to 26 do begin
if i = 24 then Add('--------------------');
FechaAux:= IncHour(FechaAux);
Add(FormatDateTime('dd/mm/yyy hh:mm:ss', FechaAux));
end;
end;
end;
Como verás en el ejemplo, al sumar 1 a la hora 23 obtenes exáctamente el día siguiente con la hora 00:00, pero como te dije arriba no sé si estoy captando la esencia de tu problema.
Un saludo.