Arduino + LS7407N to shift logic levels in serial communication
Turns out it wasn't a design flaw. 

tl;dr: Devices parity was set to EVEN. 

Because of that, the messages from Arduino (with parity set to NONE) were coming in distorted. In case of loss of data the device simply doesn't provide any feedback.

My biggest mistake was assuming that the device parity was set to NONE. This conclusion came to me when I was receiving test device's messages with Arduino, and then simply displaying them. I'm not sure why, but they have appeared correctly using NONE. And also using EVEN. Yet the device doesn't work when Arduino is trying to send something using NONE. I changed it to EVEN and the communication works like a charm.