Your story is troubling on many levels. First, there’s the problem of asking you to keep your 2-year-old on your lap. The safest place for your son is in his own seat, and preferably strapped into a car seat. Most airlines require that kids older than 2 have their own seats, so if the tables had been turned, – had you shown up for a flight without a ticket for your son – then the airline might have forced you to pay for another ticket.
In the heat of the moment as the plane is boarding, promises are made and other employees down the line don’t always get the memo. So while the flight attendants were just trying to fix a problem, they ended up creating another problem by failing to give you a written assurance that you’d get a refund and a ticket voucher.
You said a gate agent boarded the flight to fix the problem. That agent could have given you a flight voucher and all the paperwork necessary for a refund. If you could do an instant replay, you might have asked for some kind of assurance in writing.
If someone ever asks you to give up your son’s seat again, be sure to let that employee know he’s over 2 and is required to have his own seat. And remember, you can always say “no” when you’re asked to move. They’re your seats – you paid for them.
I contacted Spirit on your behalf. It refunded your seat and sent you the voucher it had promised.