If it is restricted to incoming messages then there could be two carriers in the path - the carrier of the originator and Fido.
Have you tried to track which messages are delayed?:
It could well be the system is based on the same chat system that the Fido Chat customer service support uses. It seems they average about three to four minutes per response and when I ask them, most of them tell me that the messages arrive that slowly. (of course I am kidding here, they are handling 5 customers at once and chat is not based on SMS technology).