Podrías intentar (no lo he probado) a poner en el onKeyDown del TDBMemo:
key := #0 ó Key := 0
con eso anulas lo que se pulse, pero puede usar el portapapeles de windows... cuidadín (para esto puedes asociarle un popupmenú que no tenga elementos, así se inhabilita el de windows).
El evento OnKeyDown lo puedes asignar por código y quitarlo asignándole nil, así puedes escribir despues.
Código Delphi
[-]
if necesito_escribir then
DBMemo1.OnkeyDown := nil
else
DBMemo1.OnkeyDown := DBMemo1KeyDown
Edito: Aver ... igual que haces con Enabled que lo pones a true o false... tambien puedes hacerlo con ReadOnly como te dijo
reevil ¿no? es más fácil que mi solución.
Saludos