Quick note: latest versions of android (or one coming soon?) now have jailbreak protection built-in, and you can specify that you don't want your app installed on any jail-broken devices.
This is a bit outside of my immediate area of expertise, but I think I have a good answer for you anyway. Like anything else, it's all about the cost/benefit analysis, and unfortunately only you can do that. We can run through that real quick, but bear in mind that I'm not actually asking you to answer these questions here. You're welcome to, but I'm just trying to guide you through the sorts of questions I would ask myself to answer your question.
- You are attempting to detect jailbreaking for a reason. Why? What loss are you seeking to prevent by stopping your app from running on jailbroken devices? Are you losing revenue from a single customer? Or are you potentially leaking confidential documents or protected information?
- What percentage of your users do you expect to have the technical ability and motivation to reverse-engineer your app so that they can defeat your jailbreaking-detection and run your app on a jailbroken device?
To give two extreme examples: if your app is a game and the potential loss to your company is ad-revenue or in-game currency sales because the person who reverse engineers your app can get everything for free, then this is probably not worth more than 5 minutes to secure on your end. The reason is because so few people have the technical know-how to accomplish these things, and the loss-per-person is so small, even the time you took to write this question already cost you more than the potential loss.
On the other hand, if your app is a document reader for documents classified as the highest level of secrecy by the NSA, and foreign governments are going to be trying to break into it to steal our most valuable secrets (not that the NSA has any secrets anymore), then code obfuscation is not secure enough.
The answer depends on your own balance of cost/benefit. Your risk is probably in the middle of these two extreme cases. Ultimately though, I think only you can answer your question.
Time for a risk assessment
I think that by the time you get to "Should we obfuscate our code to prevent competitors from reverse-engineering our software?" you are past the point of needing a penetration test. Instead, what you need is a risk assessment. I think this is now a business question, not a security question, because you are now entering legal territory. Competitors trying to take a part your systems is a different kind of problem. Taking some steps on the technical side to discourage such behavior is probably reasonable, but ultimately you might be better served with some intrusion detection and a good set of lawyers. It sounds like this effort may be forgetting about the flip side of security: some security measures are legitimately not worth the effort, and all security steps must be weight against their cost to the business. Your business needs to decide where that balance between security and cost of maintenance is in your particular case.