actually, there is no requirement to cash a check within any given period of time unless it is printed on the check itself. In the US, per federal banking reg, a check dated 6 months or more is considered a "stale dated" check and can be refused by a bank when presented but most, if not all banks, specifically give their customers their rules of how they deal with stale dated checks.
In researching your situation, I read at least 5 banks rules on such and they all reserved the right to refuse a stale dated check but every one of them also continued on with they do have the option of clearing the check without notice and without liability for any costs incurred by the customer due to such bank action.
In your situation, I have found no regulations preventing what happened. I agree that such a transfer should have time limitations, or at least such rules as applied to checks but I have found none as of yet.
I would suggest contacting your bank and asking them for any rules that may specifically address this situation. They may have a rule dealing with such things and may have even acted in contrast to such a rule. If so, you may have a defense for the charges.
As well, they may also have rules or customer info that specifically states they do not limit the time allowed to debit your account.
In other words, I do not believe there is any regulation preventing what happened but there may be rules in place at your bank that may address this.
There are a few folks here that are pretty good with banking regs. Maybe they will catch this and address it.