If you plan to just exit your app if the wrong version was loaded I see no harm in letting VB6 automatically load a wrong version. After the warning and exit the user would just delete the wrong version from the app folder, get the right one from Un4seen, copy it onto the app folder, restart your app and get it working. That's the way it's done in VB6 bass examples.
Now, if you want 2 or more bass.dll versions to coexist in the app folder, and be able to decide which one you want to load, then you must know which is the right one before loading it.
I don't know if bass.dll files can be named differently (so to be able to coexist in the app folder) and still be called by the addons. I wouldn't trust that it's possible.
A different approach would be to place the correct bass.dll and all of the correct addons in a custom folder you create (maybe inside the app folder) and not in the search path. For instance you may name it "bass24" or whatever. Then before calling BASS_GetVersion to automatically load bass.dll and all the plugins, you change the current folder to that folder like this:
ChDrive App.Path
ChDir App.Path & "\bass24"
So bass.dll and all the addons will be loaded from that folder. That reduces the chance of the wrong dll being loaded. Be sure to do that at the very begining of your app. Otherwise there's a chance that you overlooked previous calls to the dlls. That's likely to happen if it's a huge project and you're not the original coder.
I did something like this for a VB.NET project that would run at 64 bits on a 64 bit Windows and at 32 bit on a 32 bit Windows. I just checked the bitness of the OS and switched to the folder containing the correct bitness files before explicity loading them.
I can't find here at home the code I used for GetFileVersionInfo. I guess it was a project for the radio station I worked for for 43 years. Now I'm retired.
Anyway, I found 2 code snipets here:
https://stackoverflow.com/questions/49063839/how-to-get-file-properties-in-vb6There should be others floating around.
I think that code is enough self-explaining but if you have doubts get back to me. If you're a C programmer you could read about the functions used in Msdn. It's all very clear there.
Those examples are maybe a bit cumbersome for you. There's a posible way of doing the same thing using the FileSystemObject, but that would create a dependency. If you don't mind that, here's the thread:
https://www.vbforums.com/showthread.php?505137-RESOLVED-Get-EXE-VersionLook for post #2 in the thread.