It's not bad to use millisecond events. It only gets inaccurate if you're using a very small number of milliseconds, because your timed event might fall between ticks and won't get passed until the next tick.
90% of the time it's such a tiny discrepancy that it won't visibly affect your game at all. But as a general rule I usually don't use anything less than about 50 milliseconds, unless you know without a doubt that it's not going to be an issue.
Edit:
For things like smooth motion and fading sprites and such, as tulamide was saying, it's a good idea to use timeDelta, yes. For things like machine guns spawning bullets, using Every X millisecond is fine, and if you have a small number of milliseconds then it's not going to affect your game too much.