Try this:
Select Top 1000000
  tblAssets.AssetID,
  tblAssets.AssetName,
  tblAssets.Domain,
  tsysOS.OSname As OS,
  tblAssets.OScode + '.' + tblAssets.BuildNumber As Build,
  tblAssets.Version As [OS Version],
  tblAssetCustom.Manufacturer,
  tblAssetCustom.Model,
  tsysAssetTypes.AssetTypename,
  tsysAssetTypes.AssetTypeIcon10 As icon,
  tblAssets.IPAddress,
  tblAssets.Lastseen,
  tblAssets.Lasttried,
  tblAssets.Assettype
From
  tblAssets
  Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
  Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
  Inner Join tsysOS On tsysOS.OScode = tblAssets.OScode
Where
  tblAssets.AssetID Not In (SELECT
                              tblServices.AssetID
                            FROM
                              tblServices
                              Inner Join tblServiceState On tblServiceState.StateID = tblServices.StateID
                              Inner Join tblServicesUni  On tblServicesUni.ServiceuniqueID = tblServices.ServiceuniqueID
                            WHERE
                              tblServicesUni.Name Like '%DrAService%')
Basically, you're saying "pull me a list of all machines that have the service (the SELECT in the WHERE), then produce a list of machines that aren't in that list".