E' evidente che non succeda nulla selezionando un record dalla DBGrid, poichè i dati visualizzati sul controllo vengono prelevati da una sorgente differente da quella utilizzata dal DBEdit.
Se vuoi che il DBEdit venga impostato immediatamente al record selezionato dalla DBGrid, potresti collegare il componente DataSource associato alla DBGrid alla stessa tabella a cui è collegato il componente DataSource associato al DBEdit. In questo modo, entrambi i controlli visuali si riferiscono alla stessa fonte di dati, quindi selezionando un diverso record dalla DBGrid, il cursore della tabella dati si sposterà e nel campo DBEdit verrà visualizzato il valore del campo associato per il record corrente. Fatto questo, potresti anche fare a meno della coppia di pulsanti "Ok" e "Annulla", utilizzando solamente un tasto "Chiudi" per nascondere la finestra di ricerca con la DBGrid.
In questo modo, risolveresti anche il problema di inserimento del nuovo record. Attualmente, vedi solamente i record precedentemente inseriti poichè, con molta probabilità, la finestra di ricerca non viene distrutta alla sua chiusura, oppure ti sei dimenticato di fare la Commit di una transazione per scrivere fisicamente tutte le modifiche apportate sul database (che formato di database usi??). Puoi provare a chiudere e riaprire la tabella a cui è collegata la DBGrid per aggiornare i record al suo interno.
Comunque, usando il metodo indicato sopra, credo che arriverai a risolvere entrambi i problemi.

Ciao!