Du hast es korrekt erkannt.
Wenn du Konstanten im SQL verwendest, sind Hochkammas zu verdoppeln.
Verwendest du statt dessen Parametermarker, sind keine zusätzlichen Hochkomma erforderlich.

In VB mache ich das immer mit:

SqlStmt = "select .... where myfield='" + replace(myfield, "'", "''") + "' and ..."

Besser sind eigentlich immer Parameter.