If you're definitely filling in the asset location value, consider the possibility that something in your query is filtering out the results you want to see. Start from scratch.
First, make sure the locations exist.
Select Top 1000000
tblAssets.AssetID,
tblAssets.AssetName,
tsysAssetTypes.AssetType,
tsysAssetTypes.AssetTypename,
tsysAssetTypes.AssetTypeIcon10 As icon,
tblAssets.IPAddress,
tblAssets.Lastseen,
tblAssets.Lasttried
From
tblAssets
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
Where
tsysAssetTypes.AssetTypename = 'Location'
And tblAssetCustom.State = 1
That should produce a list of the locations you've defined and identify them as asset type 66. If the list is empty, you have no asset locations defined.
Once you've confirmed that the asset locations are in the database, link them to the base query.
Select Top 1000000
tblAssets.AssetID,
tblAssets.AssetName,
tsysAssetTypes.AssetTypename,
tsysAssetTypes.AssetTypeIcon10 As icon,
tblAssets.IPAddress,
tblAssets.Lastseen,
tblAssets.Lasttried,
al.AssetName As AssetLocation
From
tblAssets
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
Left Join tblAssetRelations As ar On ar.ChildAssetID = tblAssets.AssetID
Left Join tblAssets As al On ar.ParentAssetID = al.AssetID And al.Assettype = 66
Where
tblAssetCustom.State = 1
If the asset location is correctly reported, build on that. If the asset location doesn't show up, maybe you're not recording it in the field you think you are.