1)How are threading issuues handled in ejb?
The issues are handled by the EJB Container. The bean developer is not allowed to use threads (meaning that you can use them but at your own risk -- the appserver vendor does not make any promises).
2)Does the container manage transactions for both cmp and bmp or transactions are to be coded for bmp?
The term "Container-Managed Transactions" (CMT) is only applicable to CMP entity beans, not BMP entity beans, for the simple reason that the container does not know what the bean provider has been doing inside the BMP (for example, the BMP might make updates to two separate databases and the container has no way of knowing how it should declare transactions for these two operations as individuals and as a group).
3)What is the advantage of using ejb over servlets?
I tried to answer this one
here.
4)If i am to provide updations to a database, insertions and deletions in a multi user environment is it better to user servlets or beans .Why?
You shouldn't do this in a servlet because you will not be able to reuse that functionality later on without cut'n'pasting the code from the servlet to another servlet/regular class.
Whether it's better to use EntityBeans or the Data Access Object (DAO)
pattern is really dependent on the type/frequency/complexity/etc of the updates being performed on the database.
You should describe these updates in more detail if you want to discuss the "best" tool to use.