Please attach the file because I can't reproduce it. The following works as expected:
var wb = new XLWorkbook();
var ws1 = wb.AddWorksheet("Sheet1");
ws1.Range("A1:C20").Value = "X";
ws1.Range("A1:B1").AddToNamed("Sheet1Named");
ws1.Range("Sheet1Named").InsertRowsBelow(10);
var ws2 = wb.AddWorksheet("Sheet2");
ws2.Range("A1:C20").Value = "X";
ws2.Range("A1:B1").InsertRowsBelow(10);
var ws3 = wb.AddWorksheet("Sheet3");
ws3.Range("A1:C20").Value = "X";
ws3.Range("A1").InsertRowsBelow(10);
About the merging, I try to mimic Excel's behavior as much as possible and that's why you don't get the merged cells with the insert below. You'd have to create the merges manually.