Попробуй удалять в обработчике события "Закрытия":
Код:
Private Sub Form_Close()
Dim para, tmp As String
tmp = Form.OpenArgs
para = Split(tmp, "|") 'во втором элементе получившегося массива - номер копии
If Not para(1) = 0 Then 'тоесть если это не оригинал - удаляем
killform ("ph_f_search_res_form-interm-ph_f-" & para(1))
End If
End Sub
А вообще лучше при возможности удалять не в коде самой формы, а в коде, её открывающем. Нужно открыть копию модально, а следующей строкой после открытия удалить копию, т.е. примерно так:
Код:
DoCmd.OpenForm newname, , , , , acDialog, se_list.Column(1)
' Управление на следующую строку передается после закрытия
' формы newname
DoCmd.DeleteObject acForm, newname