Despite word of MySQL's stability, I've run into a situation where I keep seeing table index corruption and I just CANNOT figure out where it's coming from.

Platform:
MySQL v3.23.43
MyODBC v2.50.38
Windows 2000 Server
IIS 5
ASP / VBScript using ADODB for DB interactions
Developing using Macromedia UltraDev with as little hand-scripting as possible. :-)

Interaction with the table:
One web server on a machine hosting pages that are used only for accepting customer orders. Each page has a couple of recordset queries (to tables I'm NOT having any problems with), used to populate drop down list boxes and an insert record behavior (which inserts into the table that's developing repeated index corruptions).

Another web server hosts the customer support web app. The pages that interact with this problem table include several recordset queries, one of which is against this problem table, and an update record behavior which support reps use to review and update order records in this table.

All connections that are opened are closed. However, the liklihood of the index corruption seems greater if a record is queried or updated within moments of it being inserted....

Any ideas why this might be happening?

The recordset query that reads a record from this table into dynamic fields on a detail page is:

<%
set CustomerDetail = Server.CreateObject("ADODB.Recordset")
CustomerDetail.ActiveConnection = MM_conn_STRING
'the next statement is all on one line
CustomerDetail.Source = "SELECT * FROM tab_customer WHERE custid = " + Replace(CustomerDetail__MMColParam, "'", "''") + ""

CustomerDetail.CursorType = 0
CustomerDetail.CursorLocation = 2
CustomerDetail.LockType = 3
CustomerDetail.Open()
CustomerDetail_numRows = 0
' populate variables (fake column headers):
myvar1 = CustomerDetail.Fields("fieldone")
myvar2 = CustomerDetail.Fields("fieldtwo")
myvar3 = CustomerDetail.Fields("fieldthree")
CustomerDetail.Close()
%>

And here's the update code block:
<%
If (Not MM_abortEdit) Then
' execute the update
Set MM_editCmd = Server.CreateObject("ADODB.Command")
MM_editCmd.ActiveConnection = MM_editConnection
MM_editCmd.CommandText = MM_editQuery
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
<%

Any ideas, anyone?