Hola Alejitoo, para tu primera pregunta tendrías que mostrarnos tu codigo y así ver porque no esta guardando.
Para las fechas puedes utilizar las funciones de la unit DateUtils como te indica AzidRain y hacer algo como esto:
Código Delphi
[-]
var
Anyos, Meses, Dias : Integer;
.........................................
begin
.................................
Anyos := YearsBetween(FechaInicio, FechaFin);
if Anyos > 0 then
FechaInicio := IncYear(FechaInicio, Anyos);
Meses := MonthsBetween(FechaInicio, FechaFin);
if Meses > 0 then
FechaInicio := IncMonth(FechaInicio, Meses);
Dias := DaysBetween(FechaInicio, FechaFin);
showmessage('Años :'+IntToStr(Anyos)+' Meses:'+IntToStr(Meses)+' Dias:'+IntToStr(Dias));
Otra cosita, si son dos preguntas diferentes como en este caso, sería mejor que lo pusieras en dos hilos diferentes.
Saluditos