1.) The ASA sends syslog messages to the syslog server once the configured syslog queue is filled. The default queue size is 512 syslog messages. this can be edited by using the logging queue command and replace value with the number of messages that the queue should hold before sending to the syslog server.
2.) This could be that the logging level that is being sent to the syslog server is different than that which is being logged to the internal buffer.
configure logging level to the local buffer - logging buffered errors
configure logging level to syslog server - logging trap errors
3.) Not sure what you mean here? Do you mean you lose all TCP connections before the ASA sends syslog messages? please explain this a little more.
--
Please remember to select a correct answer and rate helpful posts