The way I have done in the past is
folderPath = docLibraryFolder+"/"+getFileNameToCopy();
SPFileCollection DestFiles = CreateSPWeb(destURL).Folders[docLibraryFolder].Files;
SPFile myFile = GetSPFile(getSourceURL(), getSourceFilePath());
sourceFileContents = myFile.OpenBinary();
SPFile myFile2 = DestFiles.Add(destURL+folderPath,sourceFileContents,true);
Please let me know if it makes any sense.