I can get this to work with two pointers...sort of. What I've done so far:
-I drew an arrow in Expression Blend.
-I copied the Data from that path and pasted it into a CustomGeometry needle.
My arrow looks exactly the way I want it to, but it is centered on top of the knob, otherwise known as the "other needle." No matter how I adjust the arrow on top of this knob (it would seem like the capability to use ScaleOffset would make this work correctly, but it doesn't), it doesn't move the way it should. Instead, the arrow rotates around its own center point, from what I can tell. So if I place the arrow needle, for example, above the text (which is centered) on my knob needle, they rotate together, but the arrow is just rotating outside of the visible bounds of its "containing" knob. I hope that makes sense.
In order for me to get the look I want (arrow at top of knob, text in center, both rotating around the same center point), I have to adjust the PointerAscent and PointerExtent. This works with the exact rotation pattern I need...but the arrow ends up all stretched out and much thicker than I want.
I think this is mostly a problem with how I have the CustomGeometry configured...admittedly, this isn't easy, at least not to me. Drawing anything semi-complex with geometries looks like a very difficult thing without a graphic-drawing program. So I'm not sure how to fix that part...whatever I draw by manual coding always looks much better when I attempt to draw it in a program like Expression Blend. What would be extremely nice is if I could just adjust the ScaleOffset for this arrow needle and have it rotate as needed that way...but I can't.