Hi Mack,
As Paul has mentioned, Cognos does not "change the model after it is published". Cognos is only reporting to you and the user that the field can't be located in the database. I believe what is happening is, you are digging into the model to determine what is happening and by doing so, you are unintentionally updating the meta data associated to the query subject (QS). Typically your lowest level QS is going to be a SELECT * FROM TABLE_ABC. By editing that QS, FM does a DB call to get the latest list of meta data for the table. If the table/view has a few fields missing, that list coming back is going to have a few fields missing as well. Instead of editing the QS, right click on it and choose Test - this should attempt to retrieve the original meta data list because it doesn't know any better. It only knows when you get into edit mode.
If this happens again, find the view that needs fixed by however you go about that (editing the QS and so forth) but after you fix the view -- close the model (DO NOT SAVE IT) - reopen the model and test the QS with the restored view. Assuming the view was restored to its original state, the error should disappear. As a final test, go to the report that was giving the error and see if the error pops up.
Instead of waiting until the next time -- do a quick test on your own -- in DEV/UAT - create a view called "testing" - add it to your FM Model - publish a testing package. Create a report from the testing package. Modify the view on the database by removing a field or two. RUn the test report and get the error. Go into FM and see how the meta data is updated but close it out without saving or republishing the test package. Modify the view back to its original state -- your report should run without error. This will hopefully show you that Cognos isn't modifying your package/model at run-time.
Hope that is helpful.