Well, I was examining the Staff.DBF file, and like I said, my head trainer was training someone from another team. Not sure which other file that ties into, but it borked that file up good. I mean, the tasks are always set to "0", and even 0-ed the player field, but whenever I scroll to the coach's name, game crashes. Randomly they will still train my team, but come end-of-the-month, crash. (workingDB/Player.DBF and not Staff.DBF though -- not sure how badly this bug hit)
The only way to fix this bug was to "fire" my coach (turn his team data from my team to FA) so that the game wouldn't quit at the end of the month (and then re-hire them in the off-season) or load my last save from the end of last season. I figure if this bug is that deep, if I plug the hole by removing an assistant coach, something else is probably going to go wrong between now and the end of 2012. Hell, it was only Jan. Three months, a new set of rookies, that'll be worth avoiding this bug. (Still have no idea how this happened...)
Three side notes.
First, if you assign your coach to train player... say, Taj Gibson for 4 weeks, then edit the Staff.DBF to remove Taj Gibson from the Staff.dbf, the game will still note the coach training "player" for the remainder of the 4 weeks.
Second, for some reason, my Draft Picks are still off -- because SEA is now OKC, OKC gets ORL pics, ORL gets PHI's picks, etc. However, come draft-day, the correct team will get the correct picks. e.g. OKC won the playoffs, and ORL won the draft. ORL would get first pick and not OKC.
Third, the new draft class... is 90% the same draft class from 2 years ago. Might as well try to change the names to match the real-life draft.