Cashing foreign checks is always expensive. There are tremendous fraud risks and it sounds as though you don't have a bank here in the USA, so why should they take a risk unless they're well paid?
If you have friends, colleagues, an employer or someone you trust, ask them to deposit the check to their account and, when after some period of time, they can give you the cash. There will still be foreign transaction & processing fees, but they are likely to be less for a banking customer.
I would not wait until October. The chance of any bank cashing an "old" check decrease rapidly with the passage of time.