No es necesario esperar un tiempo para mandar otro dato, incluso si pensas llenar completamente la RAM empezarias mandando la direccion 00 y luego mandas unicamentes datos como se ve en "WRITE Mode Successive Address Writing"
La unica diferencia entre ese y el que escribe un dato a la vez es que cambia el estado de CS, pero si mantenes CS en bajo entonces podes seguir mandando datos. Y no hace falta mandar la direccion de los siguientes ni comando.
Si te anda bien tu programa entonces segui con ese. Aunque estoy mas que seguro que el timer/contador no es para eso. Por que muchas veces no lo podes parar como es el caso del 16F876A, o si Nipple agrega una instruccion de mas mientras envias los datos por ejemplo, haria que el dato fuera erroneo (ya que no cambiaria DATA para cuando el clock cambia, repitiendose el valor viejo de data), aunque podrias ser cualquier cosa lo erroneo, dato, comando, o direccion. Pero si tomaste las precauciones de que eso no ocurra o no hay forma que en tu programa eso ocurra, entonces esta bien.