This isn't a boolean expression:
If (select DATEDIFF(MINUTE,LastUpdatedDateTime ,getdate()) AS Diffinminutes
FROM [sports_UAT].[dbo].[DB_Spots_UAT]
where (DATEDIFF (MINUTE,LastUpdatedDateTime,getdate()) >10))
Let me simplify it for you so it's more obvious:
If (SELECT * FROM MyTable)
That just returns a dataset, not a single BOOLEAN value - which is the only thing IF accepts.
If you want to know if there are any results that match, then use COUNT:
If (SELECT COUNT(*) FROM MyTable) > 0
Otherwise, you need to work out exactly what your condition is supposed to be looking at - we have no idea!