"I only tell my VBA code to open an instance so that I have a handle to the document and application I want."

To repeat, you do NOT need to do that.

Say they are in one document, and execute your code.

[vba]Dim wrdDoc As Document
' NOTE! there is NO wrdApp! No other instance.
Set wrdDoc = Documents.Open("" & GetDBPath() & "MyDocument.doc")
[/vba]There is no need to Activate it. You are creating a Document object, and you can action it directly.

As was mentioned, using Range, rather than Selection, is better. In fact, you do not need to Select anything at all, nor do you need any counters.

IF your arrays - findData() for the search terms and replData() for the replacement text - are equal in number, it does not matter if there are 18 or 231 items in them. If they are not equal, this is another issue.
[vba]' assume your arrays are HERE, or
' globals
Dim wrdDoc As Document
Dim r As Range
Dim var
' opens the document as a Document object
Set wrdDoc = Documents.Open("" & GetDBPath() & "MyDocument.doc")
' loop through the array findData
For var = 0 To UBound(findData)
' set range object
Set r = wrdDoc.Range
With r.Find
' text to find is findData(var)
.Text = findData(var)
' text to replace is replData(var)
.Execute Forward:=True, Replacewith:=replData(var), _
Replace:=wdReplaceAll
End With
Next

' Done

' I assume you want to save the document
With wrdDoc
.Save
.Close
End With
set wrdDoc = Nothing
[/vba]

The other document - the one they are working on - is not touched, or affected. Nothing is Selected whatsoever.

I suggest you learn to use With statements.

Again, there is no need for another instance at all. Multiple instances should be avoided, and it is a VERY rare case where they are actually needed. Word can handle multiple files quite well with a single instance.