Just a guess, as I had a similar problem in GuiTools,
you take the filename from Texture().NAME, which is probably a fixed length string in your Texture UDT. Now assigning a value to a fixed length string in QB64 will properly fill the remaining bytes of a fixed length string (if any) with spaces, but you don't assign a value, but loading the contents out of a file via GET, hence you get into Texture().NAME whatever is in the file at that position, which may even be zeros. Using RTRIM in the _FILEEXIST call will only remove spaces, but not zeros. The zeros remain ant the end of the string and that makes _FILEEXIST failing.
I've made LStrip/RStrip functions in GuiTools (dev_framwork/GuiAppFrame.bm), which are much smarter than LTRIM/RTRIM and can handle the problem described above, just replace RTRIM with RStrip and use mode stripFIX.