I'm a musician (OK maybe an ex-musician these days, I can't do it all) and am in the process of developing a drum machine and squencer for WP7 ("Metro Drummer"). Performance is a big concern for me (I touch on it on my recent blog post at http://rd3d2.spaces.live.com) but so far the signs are good.
I will be posting a video of the app showing the functionality in more detail in the next couple of weeks.
Currently the app has three screens:
1. The live screen (a set of programmable drum pads)
2. The Sequencer Screen
3. The song screen (Chains up sequences created in 2)
With apologies if this is a little off topic. I havn't got perf to my satisfaction yet but as I say, I think its going to work out (and have low enough latency to be usable!).
I don't know what the story is with regard to connecting up midi via the phones USB. At the moment my plan is to allow the export of sequences & songs via MIDI files (I havn't coded this bit yet)
This guy has done a pretty good job using XNA to create a drum machine: