I'm just shooting in the dark here. Starting from Jellybean, this issue is solved:
The fix implemented custom API to reconfigure the library paths mid-run. Changing the LD_LIBRARY_PATH mid-run has no effect since at this point it's already parsed. Moreover, if your code is running from within a Java app, the Android code (see usage of java.lang.Runtime.nativeLoad) might've modified the library paths, so getenv("LD_LIBRARY_PATH") is no longer indicative. Inspect the calls to nativeLoad to see what it actually does.
If you're running a standalone binary (i.e. built with $(BUILD_EXECUTABLE)), then unless you do something funny, it *will* use the LD_LIBRARY_PATH.