Hi Dirk
I come across something similar recently with a client of mine. They wanted to show users their grades for a particular course, even if they were un-enrolled from the course.
I think a bit like what you are having now with the badges. It turns out that Moodle stores the grades as historical data in the mdl_grade_grades_history table. I wonder if a person could not in this case create a mdl_badge_issued_history table and using an SP move all the data into it.
When a new entry is added to mdl_badge_issued, the SP creates a copy in mdl_badge_issued_history. The create/tweak the existing badges block to look in the new table for the badges.
If this interim fix could work for you, then I would be happy to help work on it.