Zu 1. Das
DB-Grid hängt über eine TDataSource an einem TDataSet und von dem bekommt es gesagt, wann es etwas neues anzuzeigen gibt. Also könntest Du mit TDataSource.DisableControls; / TDataSet.EnableControls; die Anzeigeaktualisierung verhindern. Aber ich denke, das dies in Deinem Fall noch nicht die Ideallösung wäre. Du solltest eher die Eingabefelder von der DataSource entkoppeln (normale Edits, im AfterScroll des DataSets füllen und nach Deiner Berechnung mit TDataSet.FieldByName('Name').AsType füllen.
Zu 2.: Schau Dir mal OnMouseMove an. (und mach in Zukunft einen Thread für jede Frage - das gehört nich in Datenbanken)