puedes usar delphi y /delphi entre [], si es codigo delphi. Creas la form, pero en ningun momento la liberas. Yo lo haria asi:
Código Delphi
[-]
var
f : TfrmUnidadesPedidoVenta;
begin
...
try
f := TfrmUnidadesPedidoVenta.Create(self); f.ShowModal;
...
f.free;
except
...
casi seguro que es eso
otra es marca, porque freeandnil si aun no se ha asignado (ni falta que hace)? TBookMarkStr solo es una string, por lo que en principio no te tienes que preocupar de su memoria. El access a nil es debido a eso seguro, pues la liberas y luego intentas trabajar con ella. Si quieres que tenga un valor nulo, simplemente haz marca := '' o marca := nil, pero no la liberes pues se queda desreferenciada en memoria. En tu caso, creo q no hace falta ni siquiera marca := '' pues a lo siguiente ya le das un valor concreto.
Tambien creo q te falta un bloque begin end en ComboBox1.Text = 'TODOS'