Richard,
Short answer - nothing is wrong. This is by design of DotNetNuke.
However, there is a solution but requires using V5 of SQLGridSelectedView. In that version you can specific the role(s) allowed to Edit the records of the database. If the current user is in the appropriate role, the buttons remain and the user is allowed to edit. See page 47-48 of the current user guide for more detail.
You will need to subscribe to the site to obtain SQLGridSelectedView V5. This will also give access to all current versions of the modules.
Paul.