Hmm, different but no better.
There's either a bug in my code or the pulse is too short to be reliably trapped by the code.
It should be this....
EN DN UP
What we are doing should not affect anything so the display should be working as per normal. Is it?
You may need an octal latch to catch the data, same as you were doing with the shift reg but use a latch instead and feed the latch outputs into A0-5 and revert to my first piece of code that used the interrupts.
Anyway it's too late here to think clearly about it.