It looks like the result from StrCmpLogicalW isn't 100% clear and the result is somewhat unexpected from my point of view.
The documentation describes the function as "Compares two Unicode strings. Digits in the strings are considered as numerical content rather than text. This test is not case-sensitive."
However in some situations the result was not as expected and MS adds some fuzzy logic to the evaluation.
The following items are sorted based on the logic from StrCmpLogicalW()
000
000_A
000_Z
00
0
1
11
111
111_A
111_Z
Our in-house method did not take into consideration the unusual ordering of 0's and this is why our result was not identical.
In FlashFXP the result would of been
0
00
000
000_A
000_Z
1
11
111
111_A
111_Z
I have adapted the logic in FlashFXP to take this into consideration and now sort 0's the same way as StrCmpLogicalW(), please give this updated dev build a try and see if it handles all your test cases correctly.
https://oss.azurewebsites.net/testr/ffxp-dev-build.zip