Just ran the (slightly modified) script below couple dozen times, and the primary key seems to come out fine. You could use the sysindexes query to detect when it happens - at least you could automate the detection of the error.

(Also a suggestion to name all indexes (including primary keys) as it helps in maintenance).

SET QUOTED_IDENTIFIER ON\nGO\nSET ANSI_NULLS ON\nGO\n\nIF EXISTS(SELECT * FROM dbo.sysobjects WHERE ((name = 'CreateTableNewTable') AND (type ='P')))\n   DROP PROCEDURE dbo.CreateTableNewTable\nGO\n\nCREATE PROCEDURE CreateTableNewTable\n\nAS\n   SET NOCOUNT ON   \n\n   CREATE TABLE NewTable (\n      UID                       BIGINT           IDENTITY (1,1),\n      RecordType                CHAR(2)          NOT NULL,\n      RecSequenceNumber         INT              NOT NULL,\n      TicketNumber              VARCHAR(15)      NOT NULL,\n      TicketNumberCheckDigit    CHAR(1)          NOT NULL,\n      RecordDate                DATETIME         NOT NULL,\n      FileDate                  DATETIME         NOT NULL,\n      TransmissionControlNumber VARCHAR(15)      NULL,\n      TCNCheckDigit             CHAR(1)          NULL,\n      OriginalRecord            VARCHAR(450)     NULL\n                                                 CONSTRAINT PK_NewTable PRIMARY KEY CLUSTERED(UID))\nGO\n\nSET QUOTED_IDENTIFIER OFF\nGO\nSET ANSI_NULLS ON\nGO\n\nIF EXISTS(SELECT * FROM sysobjects WHERE ((type = 'U') AND (name = 'NewTable' ))) \n   DROP TABLE dbo.NewTable\nGO\n\nEXECUTE CreateTableNewTable\nGO\n\nSELECT\n   IndexType   = (CASE\n                     WHEN (ind.indid = 1) THEN ' PRIMARY KEY CLUSTERED'\n                     ELSE ' PRIMARY KEY NONCLUSTERED'\n                  END),\n   IndexName   = RTRIM(ind.name),\n   TableName   = RTRIM(tab.name),\n   ColumnName  = RTRIM(col.name),\n   KeyNo       = RTRIM(sik.keyno)\nFROM\n   sysindexes ind\n   INNER JOIN sysindexkeys sik ON(\n      (sik.indid = ind.indid))\n   INNER JOIN syscolumns col ON(\n      (col.colid = sik.colid))\n   INNER JOIN sysobjects tab ON(\n      (tab.id = ind.id) AND\n      (tab.id = sik.id) AND\n      (tab.id = col.id))\n   LEFT JOIN sysobjects cns ON(\n      (cns.name = ind.name) AND\n      (cns.parent_obj = tab.id))\nWHERE\n   (ind.name LIKE 'PK_%') AND\n   (ind.name != 'pk_dtproperties') AND\n   (tab.name IN('NewTable'))\nGO\n