Thomfergu,
Sorry for coming off harsh before. I am still learning to trade myself so please bear with me.
When you place your order through your broker, they do NOT have to fill you right away. They can send it to a Market Maker (MM) who has the option of sitting on it and waiting. What they can do is wait for the best time for them before they fill you.
As others have posted, you can use level II and direct access trading to route your orders yourself and avoid this problem.
Hope that helps.