I agree with Ciricus about P90X getting you more defined but not really for muscle growth. If your looking to put on muscle mass, you need to use weights in the 8-12 rep range for 3-4 sets. Use the big three, squat, bench press, and deadlift for sure to add muscle. I don't agree with the maxing out though, as maxing out and doing small amounts of reps 2-4 is mostly for strength gains and not muscle. (And of course for feeding the ego
)
Steroids at your age are just stupid, and if you did them two years ago, and your age is correct at 22 on here, it is even more stupid. Especially if you don't do Post Cycle Treatment after you get off roids, which I'm guessing you did not. (no disrespect to you when I say that) Your test levels are highest at your age, and unless you want to be a bodybuilder or are training to be a bodybuilder, you really never need to use steroids, you can put on enough muscle without them.
Protein and creatine are supplements, and meant to be supplemented into your diet to help you gain extra nutrients that you cannot get from real food. If your diet sucks and you do not eat enough, which is why I'm guessing you have a hard time putting on weight, you will gain very little muscle as compared to what you could gain if you ate enough. I prefer real food to supplements, but I use both protein, creatine, and many other supplements in my diet.
If you take anything away from I typed, it should be your not eating enough if you cannot gain weight.