I don't think it's possible with DirectShow. Only the best audio players can do this with sound. I've yet to see a good alternative video player.
However, I've managed to loop a clip using AviSynth. It is a good video editing language. You will need a lot of memory though and a CPU considerably faster than required for normal playback. So Pentium 2 will not do.
Code:
vid = DirectShowSource("Richard_Dean_Anderson_Trailer_1.mkv")
Loop(vid,3,75,1525)
Here I looped a
vid three times around starting on frame 75 and ending on 1525. I've cut the clip to check for the pause. You can use -1 to loop almost infinite times and omit the starting and ending frame numbers.