Visto che il metodo lo invochi direttamente su un reference ProdottoScontato3x2 e visto che ProdottoScontato3x2 ha un costo() definito, il fatto che questo sia un override, è ininfluente (almeno in termini della risoluzione del metodo da parte del compilatore).
Posta del codice in più, perché per quello che si vede, risulta certo che il metodo invocato è quello di ProdottoScontato3x2.