I think the honest reply is that I simply do not know enough about your heater and it's remote to be able to give meaningful advice.
Sorry
Are you trying to make your own IR remote?, or are you trying to wire 6 buttons directly to the heater? or are you trying to control your heater from a computer of some kind? .. or am I missing the point entirely?
I have very limited Arduino knowledge, but I suspect that there is no library to create the raw signal that you seem to want, so my guess is... yes, you will need to use digitalWrite high/low (or direct port manipulation) with appropriate delays.
Maybe mentioning 38kHz was a mistake, since re-reading the above, it seems that you really do want the raw signal (presumably to inject into the point in the circuit where the IR receiver output goes/went to?)
It is possible that I completely misunderstand, in which case please just ignore my guesswork.