Travis, even after cutting the code down - I still had too much code. This linking system I am using is truly amazing in its lack of code.
The solution is / was to drop the search of the recordset. It appears this was causing a requery action on the subform that simply was not required.
The final solution was acheived using ADO and calling this as a seperate search to set the main form. The code that works is:
Private Sub SearchAddress(strA As String)
'The wizard generated code gives an error
'It seems this is caused by the recordset clone method
'trying ADO instead with a straight search
Dim rst As ADODB.Recordset
Dim strCriteria As String
Set rst = New ADODB.Recordset
Set rst.ActiveConnection = CurrentProject.Connection
rst.CursorType = adOpenKeyset
rst.LockType = adLockOptimistic
rst.Open "qryMainClient", Options:=adCmdTableDirect
strCriteria = "ID = " & strA
rst.Find strCriteria
rst.Close
Set rst = Nothing
End Sub
This code forces the main form to the correct record, without requerying the form. I then set the links and that is that. No requerying and the Out of stack space error vanishes.
I am now applying this to the rest of the form and so far it works great.
Thanks for the suggestions and input