Pues ahora yo lo entiendo ...
Las vueltas que hay que darle a veces a unas tonterías
Me explico a mi mismo donde estaba el problema;
Estaba definiendo el número de líneas del Grid igual que el número de plazos, entonces como la linea de la cabecera ocupa una fila lógicamente nunca llegaba a la última que necesitaba.
Lo he solucionado incrementando 1 al número de líneas del Grid y restando 1 al bucle para que deje la ultima sin generar y se pueda hacer cuando finalice. Grrrrrrr Esto hace que se me caiga un poco más el pelo...
Código Delphi
[-] NumPlazos := Strtoint(Plazos.Text) ;
ImporteCuota := StrToFloat(ImportePrestamo.Text)*(StrtoFloat(TipodeInteres.Text)/12)/100;
ImportePendiente := StrtoFloat(ImportePrestamo.Text);
CuadrodeAmortizacion.RowCount := NumPlazos + 1 ;
For Lineas := 1 to NumPlazos - 1 do