Si pusieras un poco más de código seria mas facil para todos...No se en que momento ejecutas las rutinas de tu código (después de postear?, antes del siguiente Edit?) Si estas insertando un nuevo registro entonces debes llamar a Insert en algun lado antes de volver a editar los datos con los TDBEdits
Código Delphi
[-]
QuerySinNombre.Insert;
Query1.Clear; Query1.SQL.Add('select max(idcliente)+1 as sig_cliente from clientes');
Query1.Open;
DBEdit1.text:= Query1.FieldByName('sig_cliente').AsString;
Query1.Close;
If VentanaSinNombre.modalresult := mrOk Then
QuerySinNombre.Post;
else
QuerySinNombre.Cancel;
Todo lo anterior es código genérico solo tienes que traslaparlo a l que estas haciendo pero te repito si nos dieras mas código sería mas fácil y no tendríamos que estar adivinando