You can try using DATEDIFF, I think it's built into MS SQL. It's not terribly accurate though, in terms of defining boundaries between days, months, years, so you have to tweak around with it a bit - for each unit (seconds, minutes), you have to divide the value it returns, then put them together again.
For example:
take your:
x = DATEDIFF(@project_start, @project_end);
seconds = x / 60;
minutes = (x / 60) / 60;
And so on.
Hope I helped,
Stephen