This just seems to be wrong according to my gut-feeling. And yes I have a 434 MhZ transmitter attached to the arduino.
It seems right and inevitable, to mine. The buad (signalling) rate is twice the bit rate with this signaling scheme so you need to output two signals per bit. I would have thought you could do this handily with a timer interrupt triggering twice per bit and a FIFO buffer of signaling states waiting to be transmitted. Perhaps you could use SoftwareSerial as the basis for this. Using the 555 timer to trigger the interrupt save needing to understand how to configure timer interrupts but there are tutorials that explain how to do that and it should not be necessary to use the 555 timer kludge long term.