Showing progress is often desirable. But you do need to be able to measure progress to make that meaningful. Guessing that you meant DataSet.ReadXml(), that class doesn't have any kind of ProgressChanged event that you could use to let the user know how far the job got along. Nor can you guess up front how long it is going to take. Execution time is roughly proportional to the size of the .xml file but the exact proportion is impossible to guess accurately.
All you can do is let the user know "I'm busy, don't expect anything for a while". The hourglass cursor has been the standard way of doing so for the past 20 years. You can get fancier with an animation. Which is all that a ProgressBar in marquee mode really is. It doesn't help the user at all. Albeit that it has a slight bit of information added: "the operating system hasn't crashed". Useful 20 years ago.
You can create your own animation. Do animated GIFs work on CF? If not, you can flip bitmaps yourself. You do however take on an additional burden, you have to keep the animation animating. That requires that you run the ReadXml() call on another thread so that the UI thread is available to keep the image updated. No BackgroundWorker in CF, you'll have to spin that thread up yourself.