You have to play demos through soldat.
Open up soldat and click on the "join" tab. Then, put the name of the demo into the place where the IP would normally go, and put 0 (number, not letter) into the port. Click join and it will start playing.
Alternatively, you could get a demo player such as the Double Diamond Player, or whatever it's called which basically does the same thing but makes it easier on the user. (Not that it's that hard).
Edit: Beaten.