Como Jon ya ha indicado, no puede decir un hilo: "por favor, deténgase ahora" y espere que el hilo obedezca. Thread.Abort no le dirá que se detenga, simplemente lo "desconectará". :)
Lo que hice en el pasado fue agregar una serie de "if (wehavetostop)" dentro del código del thread y si el usuario presionó "cancel" puse wehavetostop == true.
No es demasiado elegante y en algunos casos puede ser "difícil" colocar los controles "if", especialmente si el hilo ejecuta una operación "larga" que no puede dividir.
Si está intentando establecer una conexión de red (y lleva tiempo) y realmente piensa que una terminación "anormal" del hilo no causaría ningún estado de corrupción, puede usarlo, pero recuerde que no puede confía en el estado de cosas que estuvieron involucradas en ese hilo.