arup_kc,
Essentially there is no difference between the two views except for when they were created; however, sysobjects is a SQL 2000 view and was left in SQL 2005 for backward compatability reasons which would make it subject to deprecation before sys.all_objects view.
The proper (or recommended) view in SQL 2005 that replaced sysobjects is sys.objects. Which if you use the sys.objects view you will only see user-defined and schema scoped objects. You'd then have to query the sys.system_objects (then use the two tables together) to obtain a complete listing of the system objects and the user-defined objects. Obviously, using a single table/view would be preferred in most cases.
I chose to use sys.all_objects because it already lists both system and user-defined objects and is a SQL 2005 view.
Thank you,
James Rea
~ Without obstacles, you cannot progress ~
http://sqln.blogspot.com/