In the form emailer script, & is being converted to & by this line of code that is parsing and formatting the answers text for the email and other uses:
v = v.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"');
This is probably to help aid the parsing so the script knows that & is not the start of another characters (such as the others this line is replacing) so & is used to designate ampersand instead of the start of another character. This is a best practice for what this script is doing.
To fix it permanently, you'd need to modify the script specifically to fit you form's needs. Something like an IF statement that says:
If not [field that your are using as subject line place holder] Then
v = v.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"');
Else
v = v.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"').replace('amp;','');
End If
What I've provided is just a pointer to where the fix needs to go for your specific form and is not real code to just replace what exists. I haven't reviewed the whole script enough to quickly tell you exactly what to copy and replace or add to the script permanently, especially not knowing how your form or form emailer settings are constructed, so you might need & replaced with & to make other parts you're using work correctly (for example, my quick fix could put the script in an endless loop depending on what else is in your form, but for a simple form it would work temporarily).
Now, if you just need to be able to get the email out with & in the subject instead of & you can try replacing the pink line with the green in the script, process the row manually, and then change the script back from green to pink line as a temp fix. Hope this helps a bit.