You do not need to disable the app, that's correct. Simply introduce a bug like crashing on a given level in a game, or lock up at random times so it's unresponsive... Be creative...
This kind of solution is terrible. It makes your app appear to be as cheap as the thief would like to believe it is. The thief feels like, "This game sucks. It crashes a lot. I'm sure glad I didn't pay for it." They feel justified in stealing it and are more likely to repeat the offense in the future.
I believe the best solution is to detect the crack, but let it slide for a while.
When you decide the time is right (when the user is so attached to the app that they're willing to pay for it,) you spring a UIAlert on them that says something like:
The Jig is Up!
I know you've not paid for my game. I didn't spend months working on this for nothing. I'm only asking for $0.99. That's cheaper than a bottle of water from a vending machine! Your free ride ends here; it's time to pay up like everyone else.
And then offer a link to your app in the app store.
Don't be too hostile in your message, I'd suggest being almost comical, because you are, after all, asking them to pay for something that they have been illegally enjoying for free.
Alternatively, you can lock down your game by using IAP's with receipt verification. That's a world of pain and I don't suggest trying it, but then, it might be easier than trying to detect when someone is using a jailbroken version of your app.