Creo que si, solo debes "jugar" un poco con la sintaxis del "Replace", creo que si pones el argumento "compare" a 0 te convierte la busqueda en binaria, y solo te reemplazará lo que coincida EXACTAMENTE...
Cita: 'A binary comparison starting at the beginning of the string. Returns "XXYXXPXXY".
MyString = Replace("XXpXXPXXp", "p", "Y",1,-1,0)
Aunque sería mas complicado, ya que deberías hacer lo mismo para toda la cantidad de veriantes de tu string...