Ok this works.
I already use map.scale to get the value, didn't realize I could use this property to set the scale instead of going through a setter.
If I use this solution though, I'll have to get it rid of the LODs in the config.xml, otherwise it just scales to the closest LOD instead of the entered value.
We don't use tiles cache so we don't really need the LODs, but without them the Navigator widget will not have a zoom slider, which the users kind of like (instead of just the - and + zoom buttons).
Wish I could have both, but will settle for no LOD if it's not possible.
Thanks Anthony.