JC,
As far as I know, the upgrade is supposed to be based upon the lowest bucket fare for that segment of the journey. Not based upon what the fare would have been had you brought the upgrade in the station, prior to departure. Then they take the discount off of that lowest fare and that's what you pay.
Once the train has left the station, Amtrak just wants to fill that sleeper if they can.
With regard to paying, the choice is yours. The conductor can take cash, a credit card, and I think that he can even take travelers checks. I'm not 100% sure about the travelers checks, I know that they used to do that, but I think that I remember reading somewhere that Amtrak stopped that.
Just as an FYI, you can also use your credit card to pay for meals in the dining car.