Tom,
  Thanks for your help on this issue... I did get it resolved.  Although it took me a little time to get the .patch file figured out in the correct format, it is working as it should now.
  thank you again !
p.s. for those "linuxlly challanged" amongst us, the patch should read as follows:
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
diff -urN da_vm-pop3d-1.1.7f.orig/extra.c da_vm-pop3d-1.1.7f/extra.c
--- da_vm-pop3d-1.1.7f.orig/extra.c	2005-01-17 11:13:17.000000000 -0700
+++ da_vm-pop3d-1.1.7f/extra.c	2005-09-03 10:20:52.000000000 -0700
@@ -255,6 +255,7 @@
     unsigned int max_count = 0;
     /* start with 1 because first line of mbox is From */
     int empty_line = 1, line_count = 0, len = 0;
+    int imap_header = 0;
 
     struct md5_ctx md5context;
 
@@ -282,6 +283,10 @@
 	    while (strchr(buf, '\n') == NULL)
 		fgets(buf, FREAD_SIZE, mbox);	/* get all of From line */
 
+            if(!imap_header && strstr(buf,"MAILER-DAEMON")) {
+                imap_header = 1;   /* we have the imap header message */
+            }
+
 	    if (num_messages > 0) {	/* another message */
 		md5_finish_ctx(&md5context, messages[num_messages - 1].uidl);
 	    }
@@ -322,8 +327,11 @@
 	    }
 	    /* creating md5 hash for the UIDL using just first 25 lines */
 	    /* FiXMe: Should be only for header! -TEMHOTA */
-	    if (line_count++ < 26 && len > 0)
-		md5_process_bytes(buf, len, &md5context);
+            if(strncmp(buf,"Status:",7) &&
+               strncmp(buf,"X-",2)) {
+	       if (line_count++ < 26 && len > 0)
+		    md5_process_bytes(buf, len, &md5context);
+            }
 	}
 
 	if (buf[0] == '\n')
@@ -335,6 +343,14 @@
     if (num_messages > 0) {
 	md5_finish_ctx(&md5context, messages[num_messages - 1].uidl);
     }
+    if(imap_header != 0) {
+        /* We have the imap header, lets always return
+         * this uidl for it so it won't download again.
+         * This message changes every time a message is 
+         * read or deleted.
+         */
+        memset(messages[0].uidl,'\0',sizeof(messages[0].uidl));
+    }
 
     return OK;
 }