had a little tinker with this one...
ran script in 2005 to confirm that the question was correct for 2005.
Then ran the following
Create Table Test(col varchar(10))
GO
Insert into Test
Select 1
union Select 2
union Select 3
union Select 4
union Select 5
union Select 6
union Select 7
Insert into Test
Select 'A'
union Select 'B'
union Select 'C'
union Select 'D'
Select Col
From (Select Col
From Test
Where Isnumeric(Col)=1) X
Where Col Between 1 and 6
which returns vals 1 to 6...
but it also returns an error message
Msg 245, Level 16, State 1, Line 17
Conversion failed when converting the varchar value 'A' to data type int.
why d'you think that is?