Yes it is possible, but may be complicated. First you have to consider all the possible senarios. If you are suggesting that the new record be under the highlight, consider this possibility. If the first record on the screen is the first record in the file, and the new record falls between the first record and the location of the highlight, then you must either move the highlight for it to be over the new record, or not move it, and it won't be over the new record. You also have to have some way to communicaate to the browse that you have added a new record to the underlying databae. So, it is not be as easy as it may at first seem.You are right. If the database being viewed with the browse is indexed the records would change anyway BUT is it not possible to have the records to change but the highlight bar to stay in its current position until the user moves it? It becomes disconcerting when the record highlight bar is half way down the screen lets say, you add a new record, and because of my long winded code to keep the scroll bar in synch the listbox gets repainted (what appears to be multiple times) and the record highlight bar (scroll bar jumps) to the first line of the browse (although the scroll bar is in synch).
Contrary to your experience, I do see problems with deleted records. When you think about it, it makes sense that you would. When the browse is first initialized, the scrollbar is too--with the range and current position of the highlighted record. If you then go behind the browse and change the number of records by either adding or deleting records, the scrollbar's range and current record will then be out of synch. So we need to update the scrollbar.
I have a working modification to TWBrowse that I think will fix this. Preliminary testing shows it working, but I need to do some more testing before I publish it. I will be travelling for the next few days so you may not hear from me until after I am back.
Regarding the headers, you may be interested to note that the new Office 12 applications like Excel and Access do not use the standard windows headers that you are looking for. They use flat headers with a gradient color (also called degraded color). I would prefer to see this capability than the standard headers. I know that you are not interested in using Hernan's TSBrowse, but for others who are reading this, TSBrowse can do this style of header.
I, like you, would like to have the line height settable.
I'm glad the line types are working for you. Did you try coloring the highlight bar yet?
James