First, you don't have to worry about a filter crashing. If it encounters a Javascript error (as could happen if filter2 runs before filter1), then the item would not pass the filter, and you would see the Javascript error gives as the "reason".
Second, there is some performance cost in using multiple filters, mainly because of the getfilterstreamitem() callback having to be called and build its response each time. So it is worth considering combining filters together.
Finally, as for the order in which filters run, I'll check and revert.