The idea behind unit testing is to test the smaller components before you try to test at higher levels. My general rule of thumb when writing entry level criteria for functional/system level testing is that unit testing has been completed with no outstanding severity 1 or 2 defects.
I have never seen a client decide to not enter the system test phase because unit testing is incomplete. However, it's still a good idea to clearly document this prerequisite as it clearly identifies a risk.
The same applies when moving from system to performance or integration testing. If you have existing functional defects, it's likely to propose a risk to higher level testing.