I've done quite a bit of searching on this topic and can't find a workaround.
It appears that when a project that was saved in an older version of Revit has the starting view set to <Last Viewed> (the default setting) if you use the API to upgrade and re-save a project in a later version of Revit, this information is lost and the next time the upgraded project is opened by a user in the newer version of Revit it reverts to a floor plan view.
This is at least true with the current release, Revit 2017.
Apparently this does NOT happen if upgrading the project manually using the Revit GUI. It also appears that if, in the old project, the user had set the Starting View to a specific view, after upgrading with the API to the new version of Revit that specific view *is* still the starting view.
The problem only seems to appear when the Starting View had not been specifically selected by a user in the old project, and the API is used to upgrade the project to a new version.
It appears that once the API has upgraded the project in the new version of Revit, the information about whatever was last viewed is lost. Also, we can not find a way to determine what that was so we could restore that information manually in code. There seems to be no good workaround for this situation that we can find.
As such, I would like to submit a Wish List item to Autodesk to have the API upgrade process retain the <Last Viewed> view from the older version of Revit that saved the file being upgraded, and respect that as the starting view the next time the upgraded project is opened by a user.
This requested update to the API would not *change* the Starting View to that view, the Starting View would still be set to <Last Viewed>, but it would simply no longer forget what the <Last Viewed> view was during upgrade via the API.
Thank you very much.