I managed to resolve the issue in the end by phoning Virgin and holding on the line for just over an hour to speak to technical support. Essentially they said my landline wasn't set up to withhold my number. This seems very strange as 141 is a free service and a universally recognised number to use when withholding numbers. Why would it need to be specially set up? Surely this should come as standard.
Having said all that I can confirm Virgin have rectified the problem. Thank you for taking the time to ask!