1) It depends on what you are doing, but generally no. It is best to fetch as few records as possible from the server in any case.
2) Semi connected applications require a lot of thought and planning. Read the following (it is in vb.net) it will help you out :
Northwind unplugged[
^]