By drawing the needle yourself I mean something like DrawLine(point1, point2), whereas you make point1 fixed at the centre and point2 calculated by the angle that results from the given RPM (you just calculate
point2Y = sin(angle) * radius and
point2X = cos(angle) * radius).
However the last time I "programmed" VB was in Excel some 10 years ago, so I can't really give you any details on how to draw such lines, I just think it should be possible.
One thing you'll need for sure, no matter which way you take (image or drawing), will be a function that maps the input RPM to a specific angle. It really doesn't do more than calculate how much degrees 1 RPM is worth and then multiply this with the current RPM value. Like you want a rotation of 270° (three quarter of a circle) with a maximum of 9000 RPM, which would mean 1 RPM = 270 / 9000 = 0.03°, so at for example 5000 RPM the angle would be 5000 * 0.03 = 150°. Of course you also need to offset this value because you don't want your needle to start facing east at 0 RPM (you know, on the circle east is 0° respectively 360°, north is 90°, west is 180° and south is 270°).
I suggest you to take a look at how sin and cos work (
hint), because only if you understand what you're doing you're going to be successful in the long run. It takes a bit to wrap your head around but it's really not that hard. Don't forget that you might have to
convert the degrees to radians before working with the VB6 sin & cos functions, as I don't know which kind of value they expect.
In the end if you manage to get the image rotation to work AND are able to transparently overlay the image on the gauge background then this is probably the easier path, as you can skip most of the trigonometry calculations.