OK, easy to understand, difficult to explain...
In the OP, if D had not yet acted, he may rise. If he had checked, he may not raise, because his all-in was less than a re-raise. An all-in does not re-open the action unless it is at least 50% of a legal raise. Dont feel bad about being confused, it is one of the few rules that the TDA printed an addendum for.
TDA rule 44: Re-Opening the Bet. In no-limit and pot limit, an all-in wager of less than a full raise does not reopen betting for a player who has already acted and is not facing at least a full raise when the action returns to him. In limit, at least 50% of a full raise is required to re-open betting for players who have already acted.
Addendum:
Rule 44: Re-opening the bet. Example 1. Series of short all-in wagers that add up to a full raise and thus re-open betting: NLHE, Blinds 50-100. Postflop, A opens betting for the 100 minimum. B goes all in for a total of 125. C calls the 125, D goes all in for 200 total and E calls 200. Action returns to A who is facing a total raise of 100. Since 100 is a full raise, the betting is reopened for A who can fold, call, or raise here. Note that neither B’s increment of 25 or D’s increment of 75 is by itself a full raise, but when added together they total a full raise and thus re-open the betting to “a player who is facing at least a full raise when the action returns”. Example 1-A: At the end of Example 1 above, A smooth calls the 200 total (another 100 to him). The bet is now on C who is only facing a 75 increment. C called the 125 previously and is now facing 200 total (a 75 increment). Because 75 is not a full raise, the betting for C is not reopened and C can either put out an additional 75 or fold, he cannot raise. Example 1-B: At the end of Example 1 above, A raises the minimum (100), and makes it 300 total to C. C already has called 125 so it’s an additional 175 for C to call. 175 is more than a full raise. Since C already acted and is “now facing at least a full raise”, the betting is reopened to C who can fold, call, or re-raise here. Example 2. Short all-in, 2 scenarios. NLHE, Blinds 2000-4000. Pre-flop A calls the BB and puts out 4000. B folds and C pushes all- © Copyright 2015: All Rights Reserved, Poker Tournament Directors Association. See use policy at PokerTDA.com. in for 7500 total (an increment of 3500 above the 4000 BB). It’s folded around to the SB who also folds. Example 2-A. It’s 3500 more to the BB who has not yet acted on his option. The BB can fold, smooth call the 3500, or raise by at least 4000 for a total of 11,500. The BB smooth calls and it’s 3500 more to A. A has already acted and is facing 3500 which is not a full raise. Therefore A can only fold or call the 3500, he cannot raise because it is not “at least a full bet when the action returns to him”. Example 2-B. The BB raises the minimum (4000), for a total of 11500. It is now 7500 to A and because 7500 is more than a full minimum raise, betting is now re-opened for A who can fold, call, or re-raise