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