Dynamic Link Libraries exist in pretty much every operating system nowadays. the .dll suffix only exists in Windows though.
Take a peek in your /etc/ directory. It's pretty similar to windows' system32.
Can you see the device in the GameControls thing in the configuration screen?
If so, you can maybe map the controls to keyboard input with JoytoKey (especially because it's a NES controller which doesn't have analog controls). Also, try deleting it from the device manager and reinstalling the drivers. Also, what OS are you running?
I usually make a little application in GM if I want to automate something but don't know or don't want to find out the syntax/stuff in other launguages.
Example: Program that recursivly searches directories, and creates playlists for every mp3 file in there. (Put it in your "My Music" folder, let it rip, and you have m3u playlists for easy playlisting). Or a program that synchronizes a certain directory on multiple computers across a local area network.
For those applications, I don't really care about safety, or speed, since it's just for personal use.
I would never use GM for anything used on a regular basis and/or is important.