Yesterday I was trying to do a very simple join -- a DBF file to a county shapefile. The join would be successful (or so I thought -- I wasn't warned otherwise), but if I tried to open the attribute table, apply symbology, or do pretty much anything else, ArcMap crashed. I was on the phone with customer support for a half hour. The representative was very friendly and helpful, but it was determined that I needed to reinstall ArcMap to fix the crashing issue.
After an hour or so for the reinstall and reboot (which, of course, caused me to lose all my customizations), I tried to do the join again and...ArcMap crashed. Again.
As a last-ditch effort, I decided to try a different name for my DBF file. It was called 2016.dbf. I changed it to n2016.dbf, and voila -- no crashing, and ArcMap worked normally.
If ArcMap could have simply thrown an error when I tried to join a DBF file that began with a number (or contained any violation of its mysterious naming conventions) it would have saved a lot of my time, a lot of the customer service representative's time, and I wouldn't have lost all my customizations from the reinstall.