Primero de todo que estas evaluando sSQL y es una variable string, no booleana, cuanto mucho podria ser hd, pero como es una consulta que devuelve filas, te envia un objeto recordset y no filas afectadas.
Pero mejor proba con este codigo :
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "musica"
Set RS = Server.CreateObject("ADODB.Recordset")
RS.CursorType = adOpenStatic
RS.CursorLocation = adUseClient
sql = " Select * From Artista WHERE Ucase(nombre)=' " & Ucase(buscar) & " ' "
RS.Open sql, conn
regs = RS.RecordCount
RS.Close
If regs=0 then
Set RS = Conn.Execute(" INSERT INTO Artista (artista) VALUES ( ' " & artista & " ' ) "
Response.Write "El Artista ha sido Agregado a la lista"
Else
Response.Write "El Artista ya esta En La Base de Datos"
End If
RS.Close
conn.close
%>
chau!