This behavior was implemented intentionally. It helps to minimize the code used to work with trees and group rows. It's natural if the tree button is removed if a row does not have children rows.
BTW, if you add a row with the AddRow method and specify a parent row with the vRowParent parameter, the tree button is displayed automatically in the specified parent row. This is another part of the iGrid functionality that helps to minimize the amount of code to work with trees and group rows.
If you think iGrid should not do this automatically or at least we need an option to turn this on/off, tell us more details about the functionality of your grid.