I am trying to alphabetize by generating a weight of a word, saving those numbers, and then comparing which numbers are greater.
It won't work.
What you are basically trying to do is generate a hash. The problem with a hash is that a collision is inevitable,especially with one so simple and comprised of so few bits. and in the case of sorting by a hash any collisions will end up sorting together.
The only time I've needed to so anything remotely similar to this was when I was writing a Anagram search program that could find all anagrams of a given word from a dictionary list. Rather than a sequential search and compare, I sorted the list of words according to the sorted list of their letters; that is, the word "parent" would be sorted as "aenprt". So would "entrap". This means that all anagrams of a given word would end up being sorted contiguously.
However, what you are trying to do, again, is hash the word, and then sort based on that hash. Since a hash will always lose some information, there are going to be collisions.
Likely a 64 bit long integer.
limited to 14 characters. - I think, my math may be a bit rusty, I got that from log base 27 of 18,446,744,073,709,600,000 (~2 to the 64th power); (and it's been a while since I've dealt with logarithms). And that is for a unsigned 64-bit long, too.
Doable, maybe. But as a general purpose sort algorithm? fairly useless. Especially since it can only represent the alphabetic characters and in a single case (lower case or upper case). Additionally, it doesn't give any sort of speed advantage since surely hashing (which will pretty much be what is being done) the characters into a 64-bit integer is going to be more work than simply comparing two strings, particularly since the latter case only has to compare the strings up to the point where they differ; it's a O(n+1) operation where n is the number of letters that are the same at the beginning of either string. Hashing (or converting base, or whatever you want to call it) will always be O(n) for the length of the string. Add to this the fact that VB6 (which it appears they are using) doesn't support 64-bit integers except by faking it with the scaled 64-bit integer that is the Currency Type, and you add a whole new meaning to the word "overcomplicated". Not to mention said 64-bit scaled integer is in fact a signed value.