OK, I see the problem here. Mainly its because I used [\s\S]* to match an unlimited number of characters. The problem is that [\s\S] matches
anything, including new line characters and so if there is no match where I'm expecting it (within the <Line> </Line> delimiters), it will carry on looking until it reaches the end of file.
So I've replaced it with a search for a limited number of lines and this appears to work better.
(<Line>[\r\n]{1,2}(.*[\r\n]{1,2}){5,10}<CustomNumeric1>[^0].*[\r\n]{1,2}(.*[\r\n]{1,2}){2,4}</Line>[\r\n]{1,2})
(?:<Line>[\s\S]*?</Line>\r\n)
In "replace with" put $1.