I think the problem is with your linking in
tblCPlogoninfo. I wasn't thinking of the last logon time when I suggested the link against tblADUsers, so just had you link against tblAssets. Because you're using an INNER join against tblCPlogoninfo, you're filtering out any machines that have no recorded last logon info.
Since you're after that logon time, it makes sense to link in tblCPlogoninfo, but it's worth taking the time to trim it down to the most recent logon for each machine and to LEFT join rather than INNER join so you don't filter out machines with no logon history.
Give this a try:
Select Top 1000000
tblAssets.AssetID,
tblAssets.AssetName,
tsysAssetTypes.AssetTypeIcon10 As icon,
tblADUsers.Displayname,
LogonHistory.LastLogon,
tsysIPLocations.IPLocation,
tblAssets.IPAddress,
tblAssetCustom.Custom2 As [ITSM User],
tblAssetCustom.Custom3 As [ITSM Status],
tblAssets.Lastseen,
LogonHistory.Username
From
tblAssets
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
LEFT Join (SELECT
tblCPlogoninfo.AssetID,
Max(tblCPlogoninfo.logontime) AS LastLogon,
tblCPlogoninfo.Domain,
tblCPlogoninfo.Username
FROM tblCPlogoninfo
GROUP BY
tblCPlogoninfo.AssetID,
tblCPlogoninfo.Domain,
tblCPlogoninfo.Username) AS LogonHistory ON LogonHistory.AssetID = tblAssets.AssetID
Inner Join lansweeperdb.dbo.tsysIPLocations On tsysIPLocations.LocationID = tblAssets.LocationID
Left Join tblADUsers On tblADUsers.Userdomain = LogonHistory.Domain And tblADUsers.Username = LogonHistory.Username
Where tblAssets.AssetName Like 'z%'
Order By tblAssets.AssetName,
LastLogon Desc
The inner SELECT pulls a list of just the most recent logon on each asset so you don't have to do grouping on the main body of the query. Doing a LEFT JOIN against that list ensures that you don't drop machines with no logon history from the result set.
I had previously suggested joining tblADUsers against tblAssets, but since you're pulling the last user info from tblCPlogoninfo, I've adjusted the join to link against that.