Try this:
SELECT Top 1000000
tblAssets.AssetID,
tblAssets.AssetName,
tsysAssetTypes.AssetTypename,
tsysAssetTypes.AssetTypeIcon10 As icon,
tblAssets.IPAddress,
tblAssets.Lastseen,
tblAssets.Lasttried,
( SELECT Top 1
tblQuickFixEngineering.Lastchanged
FROM
tblQuickFixEngineering
WHERE
tblQuickFixEngineering.AssetID = tblAssets.AssetID
ORDER BY
tblQuickFixEngineering.Lastchanged Desc) AS LastQFChange
FROM
tblAssets
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
WHERE
tblAssetCustom.State = 1
Assumes that the entries in tblQuickFixEngineering are placed there as part of a Windows Update run, not one-off updates.