MusicBrainz uses areas (mostly representing administrative regions) for recording artists' birth and death places, among other things. However, areas are something of a moving target: Their status and parent hierarchy tend to change from time to time, and areas are often merged or, more rarely, split. This leads to issues regarding "historical" areas: Is is correct to say that Beethoven was born in Bonn, Nordrhein-Westfalen, Germany, when today's Bonn is a much larger entity than it was at the time and Nordrhein-Westfalen wasn't even an idea yet? In this case, at least the name "Bonn" happens to be the same; but there are other cases where a name was changed or ceased to exist in a merger (e.g. Elke Lasker-Schüler was born in then Elberfeld, today Wuppertal). If two entities merge, we also lose detail.
I think the proper and future-proof solution would be to instead store the coordinates of the birth place:
Ludwig van Beethoven was born at 50.7369 N 7.1013 E.
From this, using auxiliary data provided by, e.g., Wikidata or Geonames, the area could be automatically described from any desired point of view:
(at the time) Bonn, Electoral Cologne, Holy Roman Empire
(in 1840) Bonn, Rhenish Prussia, Prussia
(today) Bonn, Nordrhein-Westfalen, Germany
One obvious issue is that the exact location isn't always known. Therefore, it would be necessary to allow specifying a region instead of a point; the region could be imported from one of the geographical data sources. For instance, if it were known that some artist was born in 1910 in then Görlitz, but not where exactly, the city boundary as of 1910 would be stored. The computed information for display could then be something like this:
(at the time) Görlitz, Lower Silesia, Prussia
(today) either Görlitz, Saxonia, Germany or Zgorzelec, Lower Silesia, Poland