Hola
Esto:
Código Delphi
[-]
if Date = StrToDate(fecha) then
Begin
if messagedlg('El software de prueba ya caduco,¿desea comprar la version total? ',mtconfirmation,[mbok],0)=mrok then
application.Terminate;
No es eficiente, alguien con un poco de conocimiento y malicia se salta la fecha a placer y sigue usando el programa.
Es tan simple como modificar la fecha del ordenador.
Creo que para esto que buscas no va a funcionar ninguno de estos códigos.
Saludos