The IP address works fine, it's just your understanding of who is responsible for what that's flawed.
NO residential IP guarantees a user a fixed IPv4 address. All residential addresses are allocated using DHCP. whether an IP changes or appears fixed depends on how a company chooses to implement DHCP accross their network.
Virgin's IP's appear fixed because they appear to have one DHCP server managing a network segment (from what I could tell). Whilst it's not uncommon for their IP's to remain constant for months or years, but if theyneed to do a network re-segmentation, or send out new hardware then your IP address changes, end of.
I'm currently with BT - I was forced to move to an area without Virgin Media due to personal circumstances. BT appear to have about 3 DHCP servers looking after my network segment. As such every so often my IPv4 and IPv6 addresses change between about 3 different ranges (Although the IPv6 does fall within the same allocated /56)
When I am in my current range, my GeoIP puts me in London instead of Inverness. Not once have I been locked out of my banking or Facebook due to these changes. Why, because companies like Facebook or the Banks know that IP addresses can change.
Incidentally I use 2FA on my Microsoft accounts and also I can get asked to verify my login. On occasions the verification sites get my GeoIP wrong. One login put me as logging in from Middlesborough, however because I am aware that GeoIP is not perfect, I simply check the time and the Browser/OS I was using (if the latter is available).
I did once have to reach out to the GeoIP providers when I was using an IPv6 tunnel from Hurricane Electric whilst on Virgin Media.
Because HE was based in California, both Facebook and Netflix had me logging in from there. This was causing me problems with Netflix, which were ultimately corrected by my reaching out, until Netflix decided to treat IPv6 tunnels the same way as VPNs - but that's a whole different story.
One of the skills of IT support is knowing who is responsible for what. You can't fix everything, because some things don't come under your companies remit. Sometimes to help someone get their problem fixed - you have to point them in the right direction so that they can get their problem solved by the right people.
In this case, this is not VM's problem to solve. Their IT is working as intended. You can stick your fingers in your ears and continue to blame Virgin if you'd like - it's not going to resolve this issue.
Tim