I've also seen WM_USER+100 used as a base in various places (and I plead guilty to using it a few times of my own).
Also, about the .Net Framework part: That one registered message will be shared by all programs that use the same version of the Framework, so that sounds reasonable.