1. why traders second guess a system?
My experience is that usually the system is not doing what was shown in the backtest scenerios. Then confidence is lost. Then money is lost.
2. Lmt orders, Mkt orders
Lmt orders for many backtesting engine will fill as long as the bar has touched the price. In real-life we know that you can offer all you want and you still cannot get your trade
Mkt orders for many backtesting engine fill on the next open price, which may be the case but not all the time. Especially when a system trades on breakout or other trend following entries, expect slippage
3. Account for slippage
Whatever amount you throw into the slippage or a bigger commission just does not work for very short term system because you do not even get filled by #2
4. Worst case analysis
If your backtest engine cannot do that then do it once by hand.
For each trade taken, if it is a fill at the high or low of a bar using limit order, discard the trade and see if there is a bar after that can fill you. That is, the high or low must exceed your lmt price.
For stop or market orders, if triggered, pick the worst price on the bar (high for a buy and low for a sell) as the fill.
This way you have a much more conservative result.
Good systems that I have seen and used usually can withstand this test and perform ok (not as good as filling exactly of course). For most "beautified" systems, the worst case scenerio usually wipe you out clean and fast.
5. Average case analysis
One interesting case is that if your system is totally based on mkt order, then you can also check out the average price for your backtest to see if it can perform better then the classic next open fill. If so, you are in luck because your system is robust enough to give you time to place your order on discretionary for a price you want, and average out your fills will be similar to the average case more than the exact fill case.
Good luck.