What if they cancel twice in a row?
The second time, stop offering dates. Reply warmly and hand the planning to them: “No worries, let me know when works for you.” If they come back with a time, it was bad luck. If they do not, you have your answer without having to ask for it.
How long should I wait before replying?
If you are calm, reply within the hour. A quick, easy reply shows you are fine. If you are annoyed, wait until you can send something you would be happy for them to screenshot. There is no prize for replying fastest.
Should I tell them I’m disappointed?
Yes, if it is true and you say it once. “Bit gutted, I was looking forward to it” is honest and easy to hear. A paragraph about how this always happens is a different message. That one belongs in a call.
What if they cancel on the day with a weak excuse?
Take the excuse at face value in your reply and keep the judgement for yourself. You do not need to prove it was weak. Notice the pattern and let it decide how much effort you put into the next plan.