[Updated Mar 30 2007: Mike pointed out errors which I've corrected]
Many applications are "still" ANSI and can't handle Unicode. We (Microsoft) have even released non-Unicode applications reasonably recently. even though we should know better. In particular there are a bunch of good reasons to move your app to Unicode. I'm rushed so I'm only listing a few here.
We have encountered numerous customer issues which could've been solved fairly trivially by using Unicode applications.
Most of these issue are easily solved by considering the encoding requirements and character repertoires, but it is often overlooked. US developers seem to be particularly susceptible to this design problem since ANSI is easy to use and their applications have a large US market even if they only use ANSI characters.
There are some occasions, primarily for backward compatibility or existing protocols that didn't plan for Unicode, where applications can't avoid ANSI. In those cases I suggest A) trying to get a plan to remove the back compat issue or fix the protocol so that this problem doesn't continue for decades, B) use Unicode in the meantime and only convert it to the ANSI code page when necessary, and C) tag the data with the appropriate code page when possible so the receiver has a hope of decoding it properly. It is best to avoid these situations though because they invariably have edge cases that are difficult to handle.
Use Unicode :)