When he changed things, he did explain but it was too subtle for me. However, if I just put an ( 0.1 ms) RC line to 0v from the optosensor, it should deal with the problem. The problem was, using an optosensor, you need a small reflective area - and if this moved slowly past the optosensor, it would start to increase the time of the pulse. I do not understand why his modification could possibly affect the 555 output, but it did. Sometimes, "clever" people are a bit too clever.
Of course I will try the Arduino but for practical reasons, I want to sell the single cyl prototype and would do so with the (your) Control. So I want that to be OK.
How much do you know about micro-processors? More industrial types than Arduino.