I use GM under FreeBasic in WinXP. Is there some other way to pass parameters. For now I use commandline interface but calling sheel is not best option. Maybe some dll acept that commandline too?
It looks like FreeBasic allows accessing C libraries so adding an interface to use GraphicsMagick via its Wand library seems most effective. You could also program directly against the core GraphicsMagick library. The functions implementing the command line (simple argv/argc style) are exposed by the core GraphicsMagick library and so these can be a simple way to pass command-line style arguments. There is this function:
int GMCommand(int argc,char **argv)
which should be very easy to use provided that you are able to link from FreeBasic to the GraphicsMagick library.