I would do a wireshark capture and see what happens upon the disconnection to better understand what is going on and get closer to root cause.
You could do this by
a) Comparing captures of Win7:Win7 vs. WinXp:Win7 and/or
b) Looking at WHO (which side) initiates the tear-down of the RDP session in the non-working scenario
Since the problem happens in 2 minutes your time committment on this will be quite small. Always nice when there is a repeatable 'recipe' for problem analysis.
JF