I've hit this issue with only pure JUnit4 tests too. Our build machine is currently only running 27 of our 120+ tests (those with class names that begin or end in 'Test').
As I understand it, the only requirement for a JUnit4 test to be run is the presence of the @Test annotation on the test method. The name of the class and the (non)presence of @RunWith on the class should make no difference. The JUnit4 runner in Eclipse follows this behaviour, and correctly identifies all of our tests.
All this with JUnit4.4, and surefire 2.7-SNAPSHOT as at 20101119 (since I'd been hoping this had been fixed as part of
SUREFIRE-482, but it doesn't seem that way).