I've been here before. Instead of putting your LHOST as 0.0.0.0 or 127.0.0.1 or its actual IP (local), put the routers IP in there. Should work if you are wanting to get a stable meterpreter shell after forwarding from your Internet facing router.
I ran into this before when I was trying to figure out the same issue. I was doing a SE gig and the person would click on a malicious Excel document and I would lose a shell. Did that ^above and it worked.