Small(ish) data processing scripts. Think parsing long log files and trying to detect "strange" behavior. Active patterns and stream processing make for nice (and fast) programs. I used to write these in C# but they were throw-away - using F# I actually find myself reusing previous scripts and extending them.
Testing using FsCheck (well ok, I guess that's cheating as I ported the thing myself...), but it's been amazingly useful (I was actually surprised at this myself ;) ) not only for testing F# programs, but .NET libraries in general. Since FsCheck is a testing DSL, I guess I should join the DSL bandwagon as well.
I've been wanting to use F# with WPF or XNA for ages now, but haven't gotten round to it.
Contrary to some I've found that once you get the hang of F#'s implicit class construction syntax, OO programming using F# is just as enjoyable, if not more than using C# or VB.
It is true that if you write a library in F#, unless you're very careful it ends up being interoperable only in theory. Truly interoperable F# libraries either need to be very careful what F# constructs to use, or write a C#/VB wrapper.
Kurt