My guess is that by calling
cr.delete(Browser.BOOKMARKS_URI, null, null);
You request to delete everything from the Bookmark's table (since you pass null in the "where" param) According to Android doc, the BOOKMARKS_URI is :
A table containing both bookmarks and history items
So... you should be more specific regarding what you want to delete (add bookmark == 1 to the cr.delete(...) call or something)