Ultimately you can't stop someone who wants to get at your code from doing so. Even if you put the BI in compiled code, a dissassembler would still reveal what you've done. The point is to approach it legally, as Steve has mentioned. You could encrypt your stored procedures and put in your EULA the standard language about reverse engineering. Can you stop an admin from seeing the code? Absolutely not. But if they tried to act on it and your caught them, you would have legal recourse.
However, as Steve pointed out, there are a lot of companies boasting that they are transparent about their schema. I can think of two companies I have dealt with in the last six months that used this as part of their sales pitch. Now they weren't BI companies, but they were trying to see us on ease of integration.
K. Brian Kelley