You may have figure this out by now, but as far as I can tell some of the augments entered were not the same rank as those declared leading to the unexpected behavior- so I fixed that. You also had an uninitialized variable (varG). Everything should be initialized in a Compile[] to avoid a call to the Evaluator. You can check that with the Needs[] included below. Hope it helps,
func = Compile[{{arg1, _Integer}, {arg2, _Real, 2},
{arg3, _Integer, 1}, {arg4, _Integer}, {arg5, _Real, 2},
{arg6, _Integer,2}, {arg7, _Real, 3}, {arg8, _Real},
{arg9, _Real}, {arg10, _Real}, {arg11, _Real, 2},
{arg12, _Real}, {arg13, _Real}, {arg15, True | False}},
Module[{varG = False},
If[arg4 == 1, varG = True;];
{arg1, arg4, arg8, arg9, arg10, arg12, arg13}
]];
func[1, {{1., 1., 1.}}, {1}, 1, {{1}, {1}},
Table[{1},2], {{{1., 1., 1.}}}, 1., 1., 1., {{1., 1.}}, 1., 1., True]
<< CompiledFunctionTools`;
CompilePrint@func