With text files the CVS server/client communication converts the line endings to the appropriate one for the client OS. For example, if you have a client on a Linux OS you will get LF line endings, if your client is on Windows you will get CRLF line endings.
Is your code accessing files in the CVS repository directly and seeing the LF line endings? If so, you will need to check in the files as binary so they are stored in the repository with CRLF line endings. Is your app for management of the CVS repository? Would something like
ViewVC do the job for you?
If not, I'd suggest running a cvs export of the tagged version you require (probably onto a Windows box if you require CRLF and then transferring it back) and pointing your PHP code at that instead. It's static, but at least it will give you the line endings you require without modifying the files in CVS.
Alternatively, pipe the files through something like sed (unless PHP has the functionality built in) and modify the line endings.
I hope I've understood the problem properly...