SuspendThread nunca será mais rápido que o modo na qual havia dito, pelo simples fato de só precisar fazer uma atribuição de 1 Byte para que a thread criada anteriormente se mate ou continue em um delay para a espera, o que você não deve ter entendido, já pelo seu modo você teria que fazer duas cominucações com a kernel, isso nas APIs OpenThread e SuspendThread, sem falar que a primeira você simplesmente poderia ter pego o hThread na hora da criação da mesma.
Caso não saiba, uma aplicação não fica totalmente suspensa, pois os dados dela no atual momento da suspensão são gravadas na kernel em algum lugar e ficam aguardando você resumir ela, o que em quisitos de desempenho e velocidade fica ruim, pelo fato de você sempre ter que se cominicar com a kernel para ativar e desativar uma thread, e claro, que ela também irá continuar de onde havia parado, essa informação fica gravada no Thread Context(Em EIP) da mesma.