There's an "easy" way to fix all of this (or rather, would be easy if all the functionality were present). Server-side demos. To my knowledge, half of the functionality is already there. If the server were to record demos of each match and keep them for say a week or so, this would solve the issue of asking someone for a demo that was deleted. Naturally, the only thing stopping this from actually happening is the lack of a way to view server-side demos.