exec will throw out an "abnormal termination" whenever anything comes out on stderr, which may be what's happening with cvs. I know tar has a habit of doing this for things I wouldn't consider erroneous.
For convert, all I know is I've used it successfully. Is your tmp directory world writable?