If it only needs a HIGH of 1ns then your code will be fine. An Arduino can't do anything that fast.
In this code
digitalWrite(CS,HIGH); //set cycle count register
digitalWrite(CS,LOW);
SPI.transfer(0x04);
SPI.transfer(0x00);
SPI.transfer(0x64);
// etc
you are ignoring the returned values. Capture them and see what they are.
...R