2 hours in the Detroit Greyhound station would be a drag. I've been there and don't recall any places to eat and there is nothing near by--in fact I would highly recommend staying put inside the station if you go by bus.
You never know just how long it take to clear US customs-my last time somebody on my bus tried to get in with no passport, he was a good 20 min delay and of course wasn't allowed in after all that time..I believe he stayed back at customs for the return bus later.
So the 2 hour delay while long would mean you would not miss the Kalamazoo bus if passing through customs takes longer then expected.
I never took to train so no help there, maybe listed your question in the Detroit Michigan USA forums
Edited: 6:30 pm, February 11, 2013