This is a hard to answer because some bugs may not look like that at first. Think about what will happen if you take your code to the limit:
-If there is a string with a fixed length, what will happen if you insert a string longer than the limit? Shorter?
-If you have a counter, what if it goes out of range? Did you selected the appropriate numeric type so it won't go out of range?
-If you have a case structure, did you check the default case really cover "everything else"?
-Do your logic conditions meet all possible combinations?
-What are the chances of those events? Are you taking provisions to ensure those event won't happen?
-For code that run in parallel, did you checked for race conditions?
You may also want to check VI Analizer. It is a tool to check for some issues too like documentation, hidden code, unused code, etc. It is expensive, though:
http://zone.ni.com/devzone/cda/tut/p/id/3588