1- If you don't need to make an executable from your vi, just add 1 to the port number when exiting, use a local variable to pass data to the port number control and make current value default using vi server. If you need an executable, make the port number load from a file, and change this when exiting.
2- Had the same problem, and putting controls without resizing them (standard sizes) helped.
3- You can check the monitor height and lenght using windows API calls in lvutil32 and change control size and positions depending it.
Hope this helps