good to hear from you and to see you using WeBWorK.
The error message which you quote is often generated when the
line containing the intended end quote text (in this case "END_SOLUTION")
actually contains other characters (leading or trailing tabs and spaces are
the usual offenders).
As a matter of style, saying
BEGIN_SOLUTION
in place of
SOLUTION(EV3(<<'END_SOLUTION'));
is a nice bit of syntactic sugar which makes problems a little easier to read.
Cheers, Djun