My question is, does everyone here really understand asymptotic notation? Remember, an algorithm that is O(n) simply means that given some constant, it is bounded above. You must always remember the constant, instead of just throwing out some notation and saying, "See, it grows slower than that one."
Second, your algorithm does something like the following:
1) Start sorting a list
2) At some point, there is a section that is sorted and does not need to be sorted or searched again
Doesn't this seem a lot like quicksort? Remember, quicksort picks a pivot element, puts it in place, and iteritvely does this until that section is sorted.
I'm sorry to tell you this folks, but there will never be a faster sort algorithm than n*lg(n) for two reasons: you must always look at every element in the list, and you must always search the list. It obviously takes n times to look at every element, and the fastest way to search a long list is by doing a binary search.