It's the same issue as here: Why ExpenseLineRetList return null
A check request will not include the detail lines of the check unless you include it in your query. By adding the IncludeLineItems
setting, you'll get access to the Expense or Item lists of the check (a check could have Expense lines, Item lines, or both). You'll want to change to include the following:
ICheckQuery checkQueryRq = requestMsgSet.AppendCheckQueryRq();
// Include the line details with the request
checkQueryRq.IncludeLineItems.SetValue(true);
//Send the request and get the response from QuickBooks
IMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet);
IResponse response = responseMsgSet.ResponseList.GetAt(0);