Hello,
it really seems you have done some extensive testing.
Well, if I analyze the error
Call to undefined method CurrencyDisplay::getInstance()
it means that CurrencyDisplay class is defined, but it does not have any getInstance method.
I am sure OUR CurrencyDisplay class (admininstrator/com_vminvoice/helpers/currencydispaly.php) has it.
(please confirm by checking the source code at your site)
If the method is defined there, then the only logical conlusiion would be, that within your Joomla site, there exists another CurrencyDisplay class, that is defined BEFORE ours and this one does not define the getInstance method.
(so that would be a conflict of the class names among different components; it might be also plugin or other VirtueMart add-on)
I think this is the only possible explanation in your case. Try to search in your site source code, whether another class
CurrencyDisplay exists outside the VM Invoice component.