UPDATE - After working with this for a little while I decided that there was a better way to manage this Forum Post
I can't take any of the credit it was BLOMASKY but here's a small model showing the workings
There is only one BO in use - Contact.
There are 3 forms:
Create - used to create the full details for the BO
Header Form - just has the Contact Name and a switch, which is for visual confirmation only.
Sub Form - contains 2 sections. One with the Person related fields, the other with the Company related fields.
1 Query with an action on selection to set the RegularUser.Con_ID field.
2 Processes
1 Sets the Selected Con_ID (Process SelectContact)
2 Searches for the Contact matching Con_ID and then View the Contact using the Subform.
VP has 3 panels
Main - shows list of Contacts from the L_AllContact query - default action to View form
Contact Header - shows the form from query in Main
Contact Sub - HTML section with nothing in it. On the Other Properties tab set Refresh Info as below

When you change the selection it runs the process triggering the change.