This is what I've done. I had to increase the 450ns delay to about 4.5 microseconds to get my LCD from Sure Electronics to work. There seems to be some variations between controllers here. The right controller works fine from about 2 microseconds, the left controller needs 4.5 microseconds.
The example where you modify Enable() does not change the width of the pulse, it adds a longer delay after the pulse. Also, at one point in the code you're generating an Enable pulse without calling Enable(), so modifying Enable() won't suffice.
My LCD needs a 4.5 microsecond pulse with a 4 microsecond delay to function properly.
Not sure why you need such long delays but the code this library is based on did have very long delays for the low half of the pulse. I shortened that delay to meet with the specs in the Samsung ks0108 datasheet. This indicates an enable high and low pulse width of 450ns and this works on my panels that use the Samsung chips. I have measured the pulse widths on a 16mhz arduino and confirmed they are at least 450ns using an HP 165000C logic analyzer.
I can certainly increase the delays as a compile time option. If you need the on and off times both to be increased, does increasing the duration of delay450ns (I may rename it to something like enPulseDelay) to 4.5us work for you?
I will modify the library so the reads also call the enable method for consistency.