I wrote about a similar question on the SharePointU.com forums about a year ago where I talked about how to create a calculation that acts similarly to the "Networkdays" function in Excel (see post here: http://www.sharepointu.com/forums/p/2429/6725.aspx#6725).
The formula is:
=IF(AND((WEEKDAY([End Date],2))<(WEEKDAY([Start Date],2)),((WEEKDAY([Start Date],2))-(WEEKDAY([End Date],2)))>1),(((DATEDIF([Start Date],[End Date],"D")+1))-(FLOOR((DATEDIF([Start Date],[End Date],"D")+1)/7,1)*2)-2),(((DATEDIF([Start Date],[End Date],"D")+1))-(FLOOR((DATEDIF([Start Date],[End Date],"D")+1)/7,1)*2)))
It calculates the difference between two given dates ("start date" and "end date") excluding weekends.
It's been awhile since I've worked with it, but from what I remember, it calculates a day as a 24 hour period (starting just after midnight through the following midnight), so a "Start Date" and "End Date" of 1/14/09 would return a value of 1 since it's counted as one full day (your formula would return zero).
It uses the "WEEKDAY" function to validate that the date to be counted is Monday" through "Friday" (like yours), but counts the starting day as well as the ending day as full days (due to the 24 hour mention above).
This formula is a bit more complicated, but it does seem to do the trick (although as Igor mentioned, you can modify your formula to include the starting date in the count as well).
- Dessie