1) Americans currently don't have to prove US citizenship to open a bank account, and could not, given that we don't have (nor do we want) a national ID card. Birth certificates - the only "proof" of native US citizenship (except US Consular documents) - are not acceptable ID because they are easily forged.
2) As I mentioned, anyone can open an offshore account with Citibank or HSBC or many other banks regardless of their visa status anywhere in the world. E.g., you can open an account from Costa Rica whether your Costa Rican visa is current or not. All you need is proof of your residence address, and again that is a separate issue from your visa status.
So in the end the only solution here - barring wholesale changes to the US and international banking systems - is a ruling from the Treasury Dept. or DoJ that Matricula IDs are not to be accepted for identification in the United States.
The Matriculas are as worthless as the paper they are printed on. I would like to see them not accepted as ID but the government is caving in to pressure from Hispanic activist groups.
When I opened my last account with a bank, I had to have proof of residency etc. I had to show my drivers license and Social Security card. I also always carry a certified copy of my DD-214 with me. That carries a lot of weight.