Cell merging setting is not copied when the contents of a range is copied. To reproduce, try the following:
----------------------
// create an Excel
Excel excel = new Excel();
// apply some formatting
Range range = excel.Worksheets[0].Cells.CreateRange(4, 4, 1, 1);
range.RowHeight = 40;
range = excel.Worksheets[0].Cells.CreateRange(3, 3, 3, 3);
range.Merge();
for (int i = 2; i < 7; i++)
for (byte j = 2; j < 7; j++)
excel.Worksheets[0].Cells[i, j].PutValue(i + "/" + j);
excel.Worksheets[0].Cells[3, 3].PutValue("**DESTINATION**");
// copy horizontal range of cells
Range srcRange = excel.Worksheets[0].Cells.CreateRange(2, 6, false);
Range destRange = excel.Worksheets[0].Cells.CreateRange(12, 6, false);
destRange.Copy(srcRange);
// copy vertical range of cells
srcRange = excel.Worksheets[0].Cells.CreateRange(2, 6, true);
destRange = excel.Worksheets[0].Cells.CreateRange(9, 6, true);
destRange.Copy(srcRange);
excel.Worksheets[0].Cells[3, 3].PutValue("**SOURCE**");
excel.Save("sample1.xls", FileFormatType.Default);
----------------------
Then look at sample1.xls, compare areas marked as **SOURCE** and **DESTINATION**.
P.S. Sorry for lots of posts and thanks for your patience.