I tried your code, bar a minor modification (say instead of prompt) so my mud would show me what I sent, and even that showed me a pretty (literal) \n at the end. I can't seem to reproduce your problem, so are you sure you aren't doing something else that might be causing the problem?
This is my script. Everything else works, and everything -but- the newline is sent for the prompt.
<triggers>
<trigger
custom_colour="5"
enabled="y"
group="Logging Triggers"
lines_to_match="2"
match="(Welcome to the world of Zalanthas|Reconnected.).*?"
regexp="y"
send_to="12"
sequence="100"
>
<send>OpenLog("",true)
ColourNote("red","black","Now logging.")
SendImmediate("prompt \%h\/\%m\/\%v\/\%t \%A\, \%w\, \%O\, \%L\> \\n")</send>
</trigger>
</triggers>
When I try putting a character after the \\n, like $, the character $ will show up on the next line. Apparently, it's not escaping that \\n for some reason.
Clearly the Send To Script function has a little deficiency of sorts, for a reason I'm not too sure about. Either way, experimentation showed that you don't need one \, or two \\, or even three \\\... no, you need FOUR \\\\ to make the \n come out properly when using the Send to Script option.
You can most likely avoid this when using a proper scriptfile, though. (The only way to script if you ask me, but everyone has their own preference. ^^)
Send to script converts \\ to \, and then inside a quoted string Lua converts \\ to \, so four backslashes are necessary, inside send-to-script, to get one.