It would be convenient if the references are generated automatically. If for example a part is copied and pasted, the references automatically change to the next available. This would ensure that duplicate references are impossible. Also, if a user types in a reference already used an error message should be shown giving the option of either re-entering the number, or changing the conflicting item to the next available number.
There could also be an option added to the "Special|Generate Symbol References" to renumber by position: sort all the parts first by sheet, then by vertical position and lastly by horizontal position - then renumber in order.