It sounds like you've reached the tipping point, and are possibly overtraining at times. Long training sessions will cause a rise in cortisol levels, putting your body into a catabolic state. This will make you feel tired and can even stunt muscle growth. Cortisol levels rise when the body is put under stress. Of course inconsistency plays a big part as well. Any inconsistency in your training will wreak havoc on your energy levels.
A few suggestions:
- Drink a post-workout recovery drink immediately after your workout. There are a lot to choose from but I typically buy Accelerade because the price is reasonable and it tastes pretty good too. Although, technically Endurox should be more effective because it has a better protein/carb ratio. Anyway, the idea with these drinks is that they'll halt the rise in cortisol levels and help promote protein synthesis.
- As Lauren already suggested, you could try splitting up your routine. Perhaps 2 or 3 days per week of weight training, alternating with a couple days of cardio. Each training session would be a little shorter in effect, and just might allow you to recover more easily from day to day.
- Try analyzing your diet for a few days, and determine how much protein, carbs, and fat you're taking in each day. With a routine like yours you might want to shoot for something around 30% protein / 40% carbs / 30% fat.
If you find the right mix of diet, exercise, rest (and post-workout nutrition) you should actually start seeing improvements in your work capacity as well as your energy levels.