The only way to get good bug reports are logging, logging and more logging. Ask a user, what did you do when this or that happened and you will most always get the wrong or not 100% accurate answer.
If logging is offensive and violates your users integrity, make it optional, enable logging for selected pilot users that know that their application usage is being recorded for quality purposes.
Oh yeah, and the “did not crash, did not report an error, nothing in the logs…” well thats an error in itself, silently failing is even worse than any spectacular failure.