Thanks for the post (I have made a few edits for privacy). Often exchanges like this are less to do with a singular incident, for example, a lesson cancellation non-payment, but rather an underlying desire to perhaps stop lessons – might be financial, time-commitment, travel etc. But sometimes the reason given is an excuse to stop lessons, rather than the reason that caused the lessons to stop.
You are right to enforce your cancellation policy, however, it can cause students to drop away like this. You never know how people will react & from time to time giving some flexibility can help retain long-term students. Hopefully this helps a little.