#2 isn't generally applicable - I've generally worked for corporations, and they've paid me for my skills. They don't want that code walking out the door with me, and between kids, a wife, and a life I haven't always had time for doing programming on my own. And anyone who asks specifically for code that I've done for a previous employer is asking me to act unethically, and I'm not working for people who ask me to violate my ethics.
#5 is a 'no-go' for me as a candidate. I've had people try to do this before, and I told them no thanks. If I'm job hunting, then I'm looking for a real position. Offering me consulting work says to me that you don't actually want to hire - you want to pay me less than I'm worth for a while, without all that hassle of having employees and paying unemployment, etc, etc.
Now I understand why you want #5, I really do. But from the candidate's point of view, you look like you're trying to take advantage.
Instead, state up front that you're hiring the employee for a trial period (my present position says 3 months) and if they don't work out DO NOT HESITATE to send them packing. If you can't fire people who don't belong at your company, then you shouldn't be running a company.