Can't comment on the opportunity itself, but as for the logistics, I suggest the following (not necessarily in the order I write them):
1) Ask the software development company (SDC) if they have done this before, and if so ask to speak to one or more of the people that were once in the place you are now.
2) Do your due diligence on the reputation of the SDC.
3) If they are willing to share the name of the client, do your due diligence on them as well (not out of fear that the SDC could screw you, but to make sure the client is somebody you ultimately would like to work for).
4) If the SDC will not share the client name, ask more questions about their relationship with the client. Have they been working together long, how many folks have they placed with this client, etc.
5) Find out if the SDC is willing to put all of what you described in writing (I know they can't guarantee a job, but they should be willing to put in writing the stipend, the room and board, and anything else they will cover).
6) You mentioned a referral bonus. I'm unclear on what that is, or why you would wig out, but if this is a fee they want to charge you, this would be worrisome. It doesn't mean it is not legit, but you should not be paying a referral fee. The client should pay this. This would be a deal breaker if it were my decision, as there are plenty of recruiter types that collect their fee from the people that hire you. PM me for more details (I am not a recruiter).
If it comes down to a close decision as to yes or no, the tiebreaker may be: How much more valuable am I in the general marketplace for my field if I have taken the 8 weeks of training (which have theoretically cost me nothing but my time*) and I don't get the job with the client?
*I acknowledge there may be an opportunity cost to spending the 8 weeks in training rather than spending that 8 weeks for other potential opportunities.
Hope this helps.