Hard to debug this on Win... Anyway, looks like vout_Destroy / vout_Create
causes some pointers become uninitialized, thus randomly causing crash.
If it survives on onother OS, VLC at least complains about invalid picture status 6 or invalid refcount -1 which means the pointers are not pointing to the proper part of
memory, or this memory was corrupted in between.
Using --codec=ffmpeg works just by coincidence better, as ffmpeg seems
to screw timing on my test stream after AR change and VLC decides to drop the pictures immediately following the change as late pictures.
But the main problem described here applies the same way - vout shouldn't be destroyed and again re-created after AR change. This would need some more time to implement, so I believe using libmpeg2-0.4.1 will be the easiest "fix" for 0.9.2, while this ticket need to remain open until a real fix is developed.