It appears that the culprit is a cached query plan, the tables in the UNION have changed and no long match however the View does not throw a "each UNION query must have the same number of columns" error.
Is there a way to force the View's query plan to be updated on each access?