Steve,
I would approach this this way;
Search Page:
Controls for the user to specify what they want
Search action:
Construct a SELECT statement in a memvar and use it to CREATE VIEW in a database. Mark the properties of the view as updatable like you are currently doing.
Grid page:
Only shows if the view gets more than one record.
Grid is
READ ONLYHas edit button and Add button
Once the user has clicked on a row of the search results grid they can click the edit button that shows the edit page with the selected record ready of editing. Ot they can click the Add button that does an append blank to the view and shows the edit page.
Edit page:
Controls are controlsourced to the view.