Se você tiver a consulta em uma variável (não em um procedimento armazenado) e não tiver uma grande quantidade de ids, poderá criar seu próprio IN. Eu não testei a velocidade dessa abordagem.
Este código não compila, é apenas para dar uma ideia.
query = "SELECT * FROM table WHERE col IN ("
For t = 0 TO x.Length-1
If t > 0 Then query &= ","
query &= "@var" & t
Next
query &= ")"
...
For t = 0 TO x.Length-1
cmd.Parameters.Add("@var" & t, SqlDbType.Int).Value = x(t)
Next