Поскольку OP не помогает ни с какими образцами данных, и я понимаю, что OP хочет удалить Timeout, который содержит значение NULL. Поэтому я просто использовал производную таблицу, чтобы отфильтровать тайм-аут со значением NOT NULL.
SELECT * FROM (select A.EmpID [X_TMSHT_EMPID] ,convert (varchar,(A.[RecordDate]),1) [X_TMSHT_APPLY],
, (convert(varchar,(A.[RecordDate]),1) + ' ' +( MAX(IIF(ISNULL(CHARINDEX('O', A.[Entries], 0), -1) > 0,SUBSTRING(A.[Entries], LEN(A.[Entries]) - 5, 5), NULL)))) AS [TimeOut]
FROM Employees[B]
inner JOIN[DTR Upload] [A] ON B.EmployeeNo = A.EmpID
) AS d
WHERE d.TimeOut IS NOT NULL
GROUP by d.LastName, d.FirstName, d.MiddleName, d.EmpID, d.[recordDate]
order by d.[recordDate] asc