Managed to figure it out after looking at the ltib source. It turns out ltib fabricates a spec file when running in scdeploy mode. This fabricated spec file only preserves the contents of the %files section in the spec file you wrote so the header and all of the macros you defined there are lost.
Not sure why LTIB behaves this way for scdeploy and not sbuild, scinstall, etc. I have a question out to the LTIB mailing list.