This is an electrical hardware issue, not an internal firmware configuration situation.
The rec data coming to arduino pin 0 from the USB serial converter is going through a series 1k ohm resistor will act as a permanent pull-up to +5vdc as that is the idle state when the USB serial link is not active, so it's an electrical issue and the pin cannot be truly 'tri-stated' as long as that electrical path to the USB chip is intact.
Now possibly if one wanted to erase the firmware in the USB serial converter chip, what you cause all it's I/O pins to default to input only and thus the two 1k series resistors would be a non issue.
It seems to me that it is a firmware configuration issue, but that it's a problem with the USART chip's firmware rather than the main microcontroller firmware. If the atmega16u2 were configured to have PD2 and PD3 (the RXD and TXD pins) as inputs, then that would solve my pull-up problems.
So what does disabling the USART (via the UCSRnA register) do? Does this only tell the atmega328 to stop sending serial commands, or does it initiate some communication with the atmega16u2 to initiate shutdown? The datasheet is a bit dense, maybe someone could clarify for me?
If I start playing with UCSR* registers, will a reset restore default USB functionality, or is there a chance of bricking my Uno? I don't have an ISP programmer, so if USB stops working I'm screwed.