Have you tried using Max on the Date so :
Select Top 1000000 tblassets.AssetID,
tblassets.AssetName,
Max(tblCPlogoninfo.logontime) As Latest,
tblCPlogoninfo.Username
From tblassets
Inner Join lansweeperdb.dbo.tblCPlogoninfo On tblassets.AssetID =
tblCPlogoninfo.AssetID And tblassets.Username = tblCPlogoninfo.Username
Where tblassets.AssetName Like 'TS-VNA%'
Group By tblassets.AssetID,
tblassets.AssetName,
tblCPlogoninfo.Username