Como dice juaperser no se recomienda.. Ya que el micro no hace nada util mientras. Y para hacer un delay de esa forma necesitas conocer que es, como funciona el micro.
No veo ninguna ventaja de usar el timer como un delay, ya que terminarias usando un modulo, cuando podrias hacerlo con las librerias. No es que este mal, pero la libreria no utiliza ese modulo
Ejemplo de Un delay simple. Algo asi:
for(i=0;i=10000;i++);
Cuanto lleva ejecutarse eso ? no tengo la menor idea, y tampoco a ciencia cierta podemos saberlo, ya que el compilador pasara esa funcion a ASM, el cual no sabemos cuantas instrucciones necesitara para eso. Si i es de 16bits va a llevar un tiempo, si es de 8 bits otro.
Podrias utilizar ASM si queres que sea mas exacto, aun asi, tambien podrias ver cuantos ciclos usa 1 vuelta de ese loop(for) y calcular un estimado el numero al cual deberia llegar. No es tan exacto pero bastante simple.
Los delays se usan para cosas insignificantes, ej. 5us por temas de tiempo con otro IC. Si son tiempos mas largos, derecho a las interrupciones.