Hola que tal.
Creo que lo que esta mal es la condición de tu segundo ciclo:
Do While j <= ((cant2 - i))
con esto no terminas de comparar todo tu arreglo, deberia ser:
Do While j <= ((cant2 - 1))
ademas creo deberias cambiar esto:
por esto:
no es un error esto último, pero es lo correcto.
Espero te haya ayudado.
Hasta luego.