1- When press Enter key, I want the cursor to move to the 2nd column (like when pressing the Tab key), but instead it is going to the next row.
You will have to code this yourself. You will have to capture this keystroke and then programatically manage the behavior you want.
2 - Still I am having problem with the BBS not synchronizing with the BBS BO, for now I had to add code to the DataGridView.RowEnter to handle this, but when I edit a cell, the value is not reflected in the BO.Field assigned to that cell, so in my validation code I have to assign the value of the cell to the BO.Field. Is this the way the DataGridView suppose to work?
No. If this were the case, then it would really make binding pretty pointless. If you can figure out your indexing issue that we were not able to reproduce with the same sample you sent, then you can most likely get this resolved as well.
Also, you will want to be sure to update the bound contents on PropertyChanged versus on validation.