Your assets are marked to market.
If you buy at X, and the market is bidding at 99.9% * X then you've already lost 0.1%.
This is a market value oriented way of looking at costs.
You could always value your assets with mark to model, and maybe you do, but no one else will. Just because you think the stock is worth 2*X doesn't mean the rest of the world agrees, evidenced by the bid. You surely won't get any margin loans based upon mark to model. Your bankers won't be convinced of the valuation of your assets based upon mark to model.
By strictly a market value oriented way of valuing assets, there is a bid/ask cost.
Relative to littleadv, this is actually a good exposition between the differences between cash and accrual accounting.
littleadv is focusing completely on the cash cost of the asset at the time of transaction and saying that there is no bid/ask cost. Through the lens of cash accounting, that is 100% correct.
However, if one uses accrual accounting marking assets to market (as we all do with marketable assets like stocks, bonds, options, etc), there may be a bid/ask cost. At the time of transaction, the bids used to trade (one's own) are exhausted. According to exchange rules that are now practically uniform: the highest bid is given priority, and if two bids are bidding the exact same highest price then the oldest bid is given priority; therefore the oldest highest bid has been exhausted and removed at trade.
At the time of transaction, the value of the asset cannot be one's own bid but the highest oldest bid leftover. If that highest oldest bid is lower than the price paid (even with liquid stocks this is usually the case) then one has accrued a bid/ask cost.