The memory pool initialization should have happened after having initialized the command line argument data, not before it.
I broke the automatic device name ("smbfs0:" .. "smbfs99:") initialization at some point. Ouch :-( The revised code now starts with "smbfs:", then tries "smbfs0:" through "smbfs99:" until it has picked a unique file system device name. This is consistent with the old behaviour of trying to use "smbfs:" if no device specific name has been requested.