Code posted by Stefan Pendl on http://libertybasic.conforums.com/index.cgi tips board then turned into a function.

example usage:
if ret = 0 then notice "Error...."+ErrorMessageFromAPI$()

function ErrorMessageFromAPI$()
calldll #kernel32, "GetLastError", _
ErrorCode as ulong
 
dwFlags = _FORMAT_MESSAGE_FROM_SYSTEM
nSize = 1024
lpBuffer$ = space$(nSize); chr$(0)
dwMessageID = ErrorCode
 
calldll #kernel32, "FormatMessageA", _
dwFlags as ulong, _
lpSource as ulong, _
dwMessageID as ulong, _
dwLanguageID as ulong, _
lpBuffer$ as ptr, _
nSize as ulong, _
Arguments as ulong, _
result as ulong
 
ErrorMessageFromAPI$ = "Error ";ErrorCode;": "; left$(lpBuffer$, result)
end function