Erik,
When you say strange result what exactly do you mean? Is the view coming up empty? Is the framework telling you that you have an invalid control source? Or is the form not coming up at all (the application launches perfectly)?
All three methods you decribed have work in all my scenarios. However, all three you mentioned have their purpose. Depending on what you need to do you need to choose one.
In your scenarios 2 & 3 using NoDataOnLoad = .F. for your Location Cursor Object might fix your problem. Your first scenario is difficult to answer only because I'm familiar with what you're trying.