The exact same thing happened to me recently in a 2011 league. I have Buster Posey as my everyday catcher and Victor Martinez as my starting DH and backup catcher.
Posey routinely went down with injuries (with 6 games left in the regular season, he's played in just 108 games), so I was ready for V-Mart to come in the following game and serve as the catcher while Posey licked his wounds. Unfortunately, Martinez only started occasionally at catcher. I also had appearances by Brett Lawrie (3B), Jonathan Herrera (2B/SS,3B), and Joe Mather (1B/3B/LF/CF/RF). I e-mailed SOM and this was our exchange:
SOM - "To avoid this problem you need to move Martinez out of the DH role and he will come in as the catcher when Posey is injured. The depth chart feature in the lineups screen tries not to move a DH out of that role, even if all other eligibles at another position are unavailable."
Me - "This was not a problem when SOM was working under TSN. Why is it a problem now? There has to be some code that can be fixed to make that part of the game work better. I don't really want to have to swap Martinez out of the DH role every time Posey gets hurt, especially if it's less than 3 games."
SOM - "This actually should have worked the same way at TSN, where the computer does not move the starting DH into another position. However this is a part of the game engine that we hope to improve in the future."
Not sure what that does for you, but they should at least be aware of it now. FYI - It seems like the last few times Posey was injured, Martinez did exclusively sub in for him the following game(s), though there's been no official notice that this bug has been fixed.