Are you using a recent version of SOAP::Lite? It looks like the authors have gone to a lot of trouble to make sure that CRLF is used properly where it's needed. In particular, the most recent copy of the source is definitely reaching into the guts of MIME::Entity to set the boundary delimiter, e.g. in SOAP::Lite::Packager at line 146:
local $MIME::Entity::BOUNDARY_DELIMITER = "\r\n";
You can probably try this in your own code if for some reason SOAP::Lite isn't, to make sure that your MIME encodings have the proper line endings.