We ran into this exact problem today.
We eventually figured out that
1) the perl that SAS bundles to run sassetup is 32-bit, even though SAS itself and our OS is 64-bit
2) our new NAS (since last year's setinit) was configured to use 64-bit inodes.
So, the IO.so file was there but it was not readable by the 32-bit perl process, which could only understand a 32-bit inode.
We reconfigured the NAS (an Isilon) to return 32-bit inodes on this export and everything worked. Note that this may break existing clients' mounts of the filesystem.