Heading is on PGN 127250 and roll PGN 127257. So simply do not send heading message.
It is also possible to leave data out from message, which has multiple fields by defining it as NA. Then if there is e.g. two different devices sending engine data with PGN 127489, one can do
SetN2kEngineDynamicParam(N2kMsg,0,EngineOilPress,EngineOilTemp,N2kDoubleNA,N2kDoubleNA,N2kDoubleNA,N2kDoubleNA);
and other
SetN2kEngineDynamicParam(N2kMsg,0,N2kDoubleNA,N2kDoubleNA,EngineCoolantTemp,AltenatorVoltage,N2kDoubleNA,N2kDoubleNA);
The receiver should combine data right.
If there are really two devices sending heading, there should be way on receiver side to select, which one to use. Some MDF:s has that some does not. if you are making your own device, you should use my N2kDeviceList module and lock the device you want to follow to device "NAME" not source address, since that may change due to address claiming.