Why does this .BAT line split with caret fail?

Because not only does ^ continue the line by ignoring the linefeed, it also escapes the first character of the next line. So the > is treated as a literal instead of as redirection.
You can get the exact same error result using:
type C:\temp.txt ^> C:\temp2.txt
You can fix the multiline version by putting a space before the redirection
type C:\temp.txt ^
> C:\temp2.txt
The rules are actually a bit more complex than what I have described. See jeb's explanation of how caret works at end of line