You signed the transaction, blockchain.info couldn't have modified it.
> I specified a no-fee transaction using one specific input and creating one specific output.
The fee is the difference between the value of the inputs and the value of the outputs. If you don't want to include a fee, you'll need an output for the "change" left over.
I used an input that was
BTC0.01075, included no fee, and created an output that was
BTC0.01075. I also ran it through the blockchain.info transaction decoder before submitting it to verify it, and it looked entirely alright.