zunächst einmal würde ich das nicht über einen digitalen Eingang am 6008 realisieren, sondern über einen Analog-Eingang. Die DIOs muss man nämlich in Software pollen, und da wäre die theoretisch maximale "Abtastrate" 1 kHz, was aber auch nicht das gelbe vom Ei ist, weil man dann eine Schleife in SW-getaktet mit 1000 Hz laufen lassen müsste, und das ist auf einem "normalen Desktop PC" nicht wirklich eine elegante Lösung.
Bei den analogen Eingängen kann man die Geräte-eigene Hardware Clock verwenden und das sind zumindest 12 kHz, wenn du's einfacher haben willst mit dem Rechnen kannst du eine 10 kHz Clock verwenden und hättest dann eine Auflösung für die Zeitmessung von 100 µs (=0,1 ms) und das ist ja schonmal gar nicht so schlecht.
Vorgehensweise: erstelle eine kontinuierliche analoge Erfassung mit einem Kanal, mit einer Blockgröße von 1000 Werten und einer Abtastrate von 10 kHz. Wenn du dafür ein Beispiel brauchst kannst du das hier verwenden:
http://forum.ib-berger.com/index.php?showtopic=64. Aus der Abtastrate in Verbindung mit der Blockgröße ergibt sich automatisch eine Schleifen-Durchlaufzeit für deine Erfassung von 100 ms. In diesen 100 ms holst du immer einen 1000er Block Werte ab und prüfst, ob bestimmte Bedingungen eingetreten sind. Die analogen Signale kannst du dabei relativ einfach in digitale Signale umwandeln: wenn der analoge Wert kleiner 0,8 ist, ist es ein digital LOW (gem. der Spezifikation für ein TTL Signal), wenn der Wert größer 2 Volt ist, handelt es sich um ein digital HIGH. Für die Zeitmessung brauchst du noch eine Variable ("Zähler"), in der du mitzählst, wieviel Samples du bereits verarbeitet hast.
Die Zeitmessung realisierst du, in dem du dir immer den letzten Zustand des digitalen Signals merkst und bei jedem Übergang von HIGH nach LOW (und umgekehrt) die Anzahl der verarbeiteten Samples (gemäß der Variable "Zähler") mit 1/Sample-Rate multiplizierst und anschließend den Zähler zurücksetzt.
Vielleicht willst du die Signale noch entprellen, das würde ich über eine kleine Funktion realisieren, die einen gleitenden Mittelwert mit einer Länge von. z.B. 5 ms über das analoge Signal legt, dann bekommst du auf jeden Fall reproduzierbare Flankenwechsel.