The scale bar won't work on my map when I try to insert one, is there a way to define a scale manually?
Are you sure that you've correctly defined the coordinate system for the layer you know is miles across? If not, it may appear much smaller (or larger) than you think. Does it match with other known correct layers?
As far as I know I have, but I'm guessing that the coordinate system is most likely the problem causing my scale bar not to be correct.
The scale bar and data should automatically adjust themselves to match the data frame (project on-the-fly), so as long as the data is correctly defined and the data frame is using a "reasonable" coordinate system (e.g. not azimuthal or something), the scale bar should be correct. Please try adding some known correct data if you haven't already. Otherwise, a screenshot may help.
That's a factor of a million out, possibly. 1 mile = 1600m.
Are you importing a cad file - is it in mm instead of metres? (or visa versa)
If you're then measuring in km and not miles you would get 0.0016........, if my mental arithmaguestimation is correct.