I didn't read this entire thread but felt the need to at least echo rumleymusic and Rbh. One thing any midi user has to consider is how good their samples are as well as to compose FOR the samples you are using. This is super important...but the most important is how they are created/recorded in MY opinion.
Here's a prime example. I have a student that is an absolute stickler for instrument programming. This gal will go to the ends of the earth to program a drum kit or midi piano. What's even cooler is she always uses the best sound libraries known to man.
At the moment, her quest is to be a better engineer with a more realistic studio sound. One of her biggest issues? Programming is her downfall. If she programs a drum line and I play the line on my V-Drums or my real kit with triggers using the same exact drum samples, my parts win every time and they also make the part sound 80% more real.
She'll do the same with a piano and then I'll play the part...the same thing happens. She'll use some bass program and I'll use a real bass....the real stuff always wins.
That said, I know that not everyone can play these instruments. However, there ARE controllers like what has been mentioned that will allow you to create these parts as a real human being, thus giving you more realism. I have a good friend that cannot play drums. He bought one of those nano drums controllers and LOVES trying to tap out the parts in real time. Due to the sensitivity, this thing works great. When he makes a mistake, he can just fix it or quantize it if he played to a click.
That's another thing....tempo maps like Rbh mentioned. Removing them from the scheme of things can definitely give you a little dirt under the fingernails in a good way as long as you have SOME sort of time concept. Many albums we all love were not created with a tempo map. However, if you copy and paste parts like back up vocals or a chorus vocal etc, it will be more challenging this way or may not even be possible. So you may have to redo that section and perform it for real like we used to years ago. :)
That brings me to another point....performances. When we copy and paste performances (some aren't as important and no one would notice) we are sort of walking on that "perfection" line. I like to play all the way through my songs and if I mess up, I just fix that spot. Most of the time I don't play something the exact same way the next time around. This gives me a little more spontaneity and also creates some pretty cool stuff that may only happen once. This takes away the "I knew that was coming!" feeling...so you're not so predictable.
Each one of these can help to make your performances sound more real. The more real you sound, the better your samples will represent. Speaking of samples... I always try to go for samples that have multiple samples in the pool this way you don't get the same stuff triggering over and over again. You never get the same sound out of a drum, piano or string instrument, we shouldn't get it either unless you are purposely using something old that was just velocity dependent. Having great instrumentation with a huge sample pool with per note possibilities as well as human playing and a controller, will hide that you are using midi by at least 75% or more depending on how you process things. :) That's what works for me.
-Danny