No funciona poner un asterisco solo después del uso de variables de usuario. Eso genera un error de sintaxis.
Para que puedas usar el asterisco, debes usar o el nombre de la tabla o el alias.
Código SQL:
Ver originalSELECT
(@REG := @REG + 1) linea,
Tabla2.*
FROM
(SELECT
@REG :=0,
T1.*
FROM Tabla1 T1
WHERE id='$id') Tabla2;
Por lo demás, este caso solamente tiene sentido si en Tabla1 existe más de un registro que cumpla la condición id='$id'. Si la subconsulta solamente devuelve un registro, esto no tiene ninguna utilidad.