Hola...
Para verificar el estado de una variable booleana solo tienes que hacer:
Código Delphi
[-]
if chkTodo.Checked then
strCondicion := 'where MATERIAL_DET.MAT_CANTIDAD > 0 ORDER BY MATERIAL_DET.MAT_ID'
else
strCondicion := 'where (MATERIAL.M_NOMBRE like ''%' + edtMatPrima.Text + '%'')';
strCondición := 'where (MATERIAL.M_NOMBRE like ' + QuotedStr('%' +
edtMatPrima.Text + '%') + ')';
Ahora, sobre el error, ¿exactamente en que línea se da este?
Saludos...