I came back and looked at this thing. Looks like it would do close to what you want. From your problem description, my understanding is that you have just either numeric or alphabetic strings - so doesn't appear that there would be any substring splitting. However the "non-module" sort function as I show below is easy to write and also incorporates the case insensitive feature.
Under natural sorting, strings are splitted at word and number
boundaries, and the resulting substrings are compared as follows:
* numeric substrings are compared numerically
* alphabetic substrings are compared lexically
* numeric substrings come always before alphabetic substrings