I'm sure there is no gemination here. The "nn" keeps the i "short".Emphasis: the correct name is Virginia, so this is Virginny.
I'm not sure exactly which dialects say it this way, but I think it is:
- more rural (not near cities) than urban (in cities) or suburban (near cities)
- more in the south and west than in the north-east
- more lower-class than upper-class
- more casual than formal
- more common in the past (before 1950) than today
My mother's name was "Virginia", but her nickname (used by family, friends and co-workers) was Ginny.
This is baseless speculation, but I wonder if the French pronounciation had anything to do with this phenomenon due to he French presence in the South East (in French those two states are Virginie and Pennsylvanie)(it's common for the stress in French loans to be changed from the last to the penultimate syllable; cf. filet, Fr. /fi'le/, En. /'fɪlɪt/)Virginny for Virginia, Pennsylvany for Pennsylvania