There are two possible causes. It is possible that you're trying to load a 32 bit driver on a 64 bit kernel; that doesn't work as 32 bit and 64 bit code are not compatible in one address space.
Drivers that use MT-Unsafe interfaces or that claim to be MT-Unsafe also no longer load in Solaris 7.
In both cases, /var/adm/messages should give a pointer to the actual cause