The likelihood of a bent pin is low unless someone jammed something in there. Typically what happens with these and all cart slots is they oxidize over time and that thin layer of essentially rust will prevent a good connection.
I just fixed a dsi xl that would not read cards by simply pushing the cart in several times quickly (50-100 times). This had the effect of cleaning off the oxidized parts and allowing the cart to fully connect. So before doing anything drastic - try this first - just may save you a costly repair.
Not sure about the firmware causes.