second account on your PC ? tun all visuals down to windows 95 style. A different environment on your PC may help you feel less distracted.
I used to do this when editing film and stuff. Id have a separate user account with no games, not links, no bookmarks or history. just plain as hell.
Your diet could be a problem too?... stick with me on this one. but your diet can really affect things like this. It's sometimes all too easy to get distracted and end up just wasting time and it could be down to what you eat.
It happens to me a lot. If I'm drawing or painting I'll be browsing the web looking for reference and suddenly I'm Pwning noobs on counterstrike all night I don;t know where the time goes half of the time!
Here's what to do...
A routine will certainly help. Try to make your routine so that you have time slots. For the first few sessions of work stick to it. If your meant to work from 6-8 start at 6 and finish at 8. not 5 minutes over, or 5 minutes under. finishing your work session is just as big a thing as starting it. If you recognise that 'the end is in sight' you will start to feel more comfortable; safe in the knowledge that you're not going to be doing boring work all night and that there is time left for leisure. As others have said, and I have hinted at - change your environment; make a work environment, and a play environment. and don;t let the 2 cross. Separate user accounts may help here perhaps.
It works both ways though. You should never start doing bits and bobs of work during your leisure or play period. if you quit half way through a game to start doing some work there's next to no chance of you actually doing any is there? I guess it's all about boundaries. never let the two mix.
hope this helps, or makes sense at least!
RB