Prova a farlo manualmente, senza usare vb.net sostituiscili tu due a due in un foglio di carta...

la stringa è "ababababababababababababbababababababa"

("aa","1")
("ab","2")
("ba","3")
("bb","4")

vedrai che ottieni "2222222222223333333"

mentre poi prova con vb.net e con

str = str.replace("aa","1")
str = str.replace("ab","2")
str = str.replace("ba","3")
str = str.replace("bb","4")

Praticamente il risultato che otterai manualmente è quello che mi interessa, l'altro usando replace e quello che è sbagliato..

Ciao prova poi se nn ti ho spiegato ti riposto tutto piu chiaramente cmq prova prima di rispondere... Ciao grazie