>> When I check, loc:parent has not been set, presumably because this is coming from an update form?
no, loc:parent is not set because in this case the lookup browse _control_ is not inside, or linked to, another control. In your earlier example you had one browse (patient) set as the "child" of another browse (contact). the Contact was the "parent" of Patient, which was the child. On the update form the BrowsePatient control was literally _on_ the UpdateContact form, and hence was a child of the form.
The lookup is thus not "related" to the thing that called it. It is (conceptually) on a different window, in this case by itself.
However, all is not lost. I think what you really want is to
"hide the price column when the browse is in lookup mode."
Fortunately there is a variable, loc:selecting, which is set to true while the browse is being generated, if the browse is in lookup mode. So set the column condition to
loc:selecting = 0