To be honest I'm a bit "out of the loop" at moment since it's been a while since I actually did some coding on the demo parsing part of the program. Logic would still tell me that it should be possible to load the .bsp from the info in the .dm2 (since q2 does that) it shouldn't allow demos from different maps. it it does, that's probably a bug. I've been checking for the map message (the message printed when you load the map) and/or (can't remember for sure) the same bsp name to be the same for demos loaded, but in the event that these two are the same, it could allow the demos to be plotted although they are different maps. This because I couldn't be arsed to write a md5 checksum calculator just to check this, when it at least in principal shouldn't really be needed.
Did you actually get a render of the server side map? that is... did it try to render it and failed? The server side demo has a totally different structure so I just can't parse this with the code I've got atm, and DemoPlotter should say that it can't render the demo if it gets a server side demo.
for the file chooser... I still don't know if I can do anything about that. This is a platform specific extension of java, and I'm very limited as to what I can do with it, I more or less ask for a file and this returns it to me. That's about it.
In what way is a r1q2 demo different? I would imagine that there wouldn't be many changes, and it could be that DemoPlotter could render it the way it is now as well (since I don't use anywhere near all the info in the demo)...
Thanks for the comments

-NRG