Well, I did my tests. With some expected results and some unexpected ones. When I changed the counter to Byte, the time went down to 30us (expected) but it stayed there regardless of whatever number I entered into it. I re-ran the original code to see if I had done anything silly, but it was correct! Can anyone explain that? The pin-pulse experiment was amazing! it toggled in 5.8us but increased the cycle time to 36us (expected). Comments appreciated.