I am a Canadian PhD student in Lausanne at EPFL. I also have a B permit. I applied for the permit when I got here. I am not aware of any case where some one had been denied a permit once he had a job offer/ employment contract signed.
In terms of salary, some one in the same field could answer your question better. What I learn't at this forum and talking to other people is that sometime you sign up a contract thinking that you are getting a really good salary, but when you start working and realize that you are getting less than what others are making in a similar job. So do your home work before signing any contract.
Also finding an accomodation could be pain in the neck. So talk to your company to see if they will provide some kind of temporary accomodation untill you find your own. Also you need to look into health insurance. That could be some where between CHF200-300 /person/month. For students its less.
Hope this will help answer some of your questions.