I'm wondering whether the problem is possibly related to the actual current that flows through the non-aligned coil, as a result of the time constant of the coils.
Frequency of PWM = 150 Hz, giving a period of 6.67ms. In order to keep the current within limits of the coils, I had been using a max duty cycle of 75%.
The time period T of the coils has been measured at ~16.8us. Therefore for duty cycles with an ON time of less than ~80us (5T), the current will not get to the maximum it would get to otherwise, based on the R of the coil and the driving voltage. Force on the needle is related to current.
When driving the coil between 0-75%, a 80us ON time = a duty cycle of 1.199%, which equates to a position of ~0.9degrees. This is about the point at which the needle was observed to slow down, i.e. I am postulating that the inductance of the coil is now causing a reduction in the force on the needle when the needle is nearly aligned with any one of the coils.
A solution, if this is the problem, would be to reduce the time constant of the coil or to increase the period of the PWM, so that small duty cycles are larger than the coil time constant. The PWM frequency is 150Hz, and below about 100Hz there is vibration, so I think I've got this as low as I can, perhaps I'll try 120 Hz or so.
Next step to try (and I'll update this answer later), is to consider the coil to be a perfect inductor and a series resistance (time constant T = L/R). Therefore, if I increase the series R (by adding another resistor and increasing the voltage, I can get a smaller T but identical I through the coil). This smaller time constant should mean that the angular position where there is a slow down in the needle is much reduced.