The receiving side has a photodetector that receives light
What hardware do you use there (links to datasheets)? Are you sure the hardware is able to receive with 200kHz and more?
You changed the Manchester class to use direct port manipulation but you seemed to have fixed the TX pin to pin 8. BTW, these are not assembler commands that are just the register names you assign directly values to within C.
delayMicroseconds(HALF_BIT_INTERVAL);
but
//#define HALF_BIT_INTERVAL 1000 // microseconds
Seems you changed other things not mentioned here. I guess you should post the whole code you are using.
If you haven't changed the reception part too, it's executing the interrupt routine with 12.5kHz and this should be at least twice the half-bit frequency you set in the transmission part. There you set it to 500kHz (although you won't reach that but that's what the pulse length is) so you're sending 40 times as fast as your receiving. Did I miss something?