Ricapitoliamo:
ho due textbox(DSource per il Data Source e ICatalog per l'Initial Catalog) + un Combobox con item True, False e SSPI per l'Integrated Security. I valori sono prelevati in apertura del form da un file .INI e a seguire viene testata la connessione con i valori rilevati (premetto che i valori letti sono esatti - li ho controllati in precedenza). Questa è òa funzione che la connection:

Private Function CreateConnection() As ADODB.Connection
Dim Cn As New ADODB.Connection
Dim oCN As String
oCN = "Provider='sqloledb';Data Source='" & Me.DSource.Text & "';Initial Catalog='" & Me.ICatalog.Text & "';Integrated Security='" & Me.ISecurity.Text & "';"
Cn = New ADODB.Connection
MsgBox(oCN)
Cn.Open(oCN)

Return Cn
End Function

La stringa restituita si ferma al contenuto del primo textbox (e credo che l'inghippo sia proprio qui...) senza neanche l'apice (valore restituito='SALVO-PC\SQLEXPRESS): QUI LA STRINGA SI FERMA.