Heartbeat uses CTS and RTS for flow control. So, you'll need a null modem cable which runs both CTS and RTS through properly.
On such a cable, CTS on one is connected to RTS and the other end -- and vice versa.
You need at least 7 wires run from one end to the other end
Your cable ought to be wired up a lot like this:
near end far end TR<---->CD+DSR TD<---->RD CTS<---->RTS CD+DSR<---->TR RX<---->TX RTS<---->CTS GND<---->GND
DO NOT connect TR at one end to CD/DSR at the same end.
DO NOT connect CTS to RTS at the same end of the cable.
If your cable passes the 'cat' test, but doesn't work with heartbeat, then there's about a 90% chance either it doesn't do anything with CTS and RTS at all, or it simply loops them around locally within the connectors, and doesn't pass them from one end of the cable to the other.
Neither arrangement will work.