It happened before that seemingly correct config was working only by accident… most of the time until it didn’t. I’d say it’s more likely than weird bug in RouterOS. But if you want to debug it yourself, no problem. You know what traffic you’re expecting, so check if it comes at all, if it passes through router as it should, or where exactly it gets lost if it doesn’t. You can use Torch on interfaces, packet sniffer or logging rules in firewall. If you choose the last option, here’s a helpful image:
http://forum.mikrotik.com/t/firewall-vs-nat-packet-flow/135838/4
Any incoming traffic will be first in prerouting, then it will go either to input (if it’s for router itself) or to forward (if it’s for another device) and then to postrouting. Good place for logging rules is in mangle. You’ll need some conditions for rules to match the right traffic, which can be using source or destination, unique ports, whatever is appropriate, it depends on existing config (you don’t want to catch unrelated trafic or have conflicts with other stuff).