Hi,
not sure about the exact cause.Sometimes back i saw one thread where issue was with non equi joins.Similar to your condition where excluding 0.
One more thing you can try to instead of putting webi query filter (Cust.Show)<>0,apply this filter at webi report/table level and exclude the zeros from there.
I don't think so issue with ((ProjHistory.Action=''Booked'') condition.but again you can try this.removing from derived table put the condition at webi query level filter.Also again put the condition at webi report/table level and compare.
See if there is a difference.
Amit