I'm experiencing this, i've been looking around a little
I have a questionnaire based on a public survey that works perfectly. But I also have another questionnaire in another course based on the same public survey that has this problem (sid field in the database for the broken questionnaire points to the same mdl_questionnaire_survey record).
I have traced the issue to the is_survey_owner() method in the questionnaire class, which compares the course ids in both questionnaire and survey and has to return true to be able to see the report. That doesn't make much sense to me if we are supposed to use public surveys as templates for questionnaires in various courses different from the original one.
Maybe I'm mistaken in some assumption, as I'm not really that familiar with the day to day usage of the module and might be confused about the relationship between questionnaires and surveys.