This is similar to Bug 9337. I had a start-firmware.service file which contained a \r\n as newline instead of just \n at the end of the WantedBy line. The result was the service is not enabled in the image. It took me 2 days to find that out. I think, the problem is in the recipes-core/systemd/systemd-systemctl/systemctl shell script. The "real" systemctl binary on the target system works properly.
The systemctl script in poky/meta/recipes-core/systemd/systemd-systemctl is a bit too complicated for me to understand. But a fast look let me tend that somewhere in the beginning it should do a tr '\r\n' '\n' or something of the whole .service file.
If you can replicate the problem easily by breaking your file again can you test that this patch against systemctl fixes it: - line = line.rstrip("\n") + line = line.strip()
Patch on the list
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=9ad35b87070f67483dbc639c8274a6f30ae78165