Erm, by 1996 we had Linux 1.2, which had loadable kernel modules and a full development toolchain, and Solaris 2, which included "no C compiler, not even a crippled one" *
This was typical of Unix distributions of the era. Development tools for pretty much all the major Unix flavors cost hundreds, if not thousands of dollars. User space tools tended to be relatively primitive compared to their GNU equivilents (e.g. tar often supported only the old v7 or ustar variants which imposed path and file type limitations). Daemons that are not considered standard (sshd, ftpd, httpd) were often expensive and usually third party.
And yes, many commercial Unix variants of the time still required relinking the kernel. OpenServed still required it up until 2005.