Si mal no recuerdo, hay algunas premisas.
El DBGrid debe estar ligado direntamente con la Tabla ( no valido para query )
En el Inspector de Objetos dgEditing = True , si esta activo el multirecord este (dgEditing ) deja de funcionar.
y luego
Código Delphi
[-]DBGrid.Columns[0].ReadOnly := True; DBGrid.Columns[1].ReadOnly := False;