В приведённом коде значение frame прекрасно меняется на единицу.
Получается:1. 1 срабатывание таймера: в File 1 существует (имя первого файла), в File 2 не существует имени файла.
2. 2 срабатывание таймера: в File 1 существует (имя первого файла), в File 2 существует (имя второго файла).
3. 3 срабатывание таймера: в File 1 существует (имя второго файла), в File 2 существует (имя третьего файла).
и так далее.
def MyTimer(self):
        global frame
        global NF
        global dir
        global bf
        global bn
        global im1
        global im2
        if frame == 669:
            frame = 0
        if self.ui.checkBox_4.isChecked():
            if frame == 0:
                os.chdir(dir)
                try:
                    fp = open(NF[frame], 'rb')
                except IOError:
                    print "Cannot open file read!"
                self.ui.lineEdit_2.setText(NF[frame])
                fp.seek(0, 2)
                size = fp.tell()
                fp.seek(size - (492*720), 0)
                for j in range(0, 720, 1):
                    bf.append([])
                    for i in range(491, -1, -1):
                        bf[j].append(struct.unpack("B", fp.read(1))[0])
                for j in range(0, 720, 1):
                    for i in range(491, -1, -1):
                        im1.setPixel(j, i, QtGui.QColor(bf[j][-i], bf[j][-i], bf[j][-i], 255).rgba())
            fp.close()
            if int((2*self.MyRadianToGradus(phi))+0.5) == 720:
                try:
                    fp = open(NF[frame], 'rb')
                except IOError:
                    print "Cannot open file read!"
                self.ui.lineEdit_2.setText(NF[frame])
                fp.seek(0, 2)
                size = fp.tell()
                fp.seek(size - (492*720), 0)
                for j in range(0, 720, 1):
                    bf.append([])
                    for i in range(491, -1, -1):
                        bf[j].append(struct.unpack("B", fp.read(1))[0])
                for j in range(0, 720, 1):
                    for i in range(491, -1, -1):
                        im1.setPixel(j, i, QtGui.QColor(bf[j][-i], bf[j][-i], bf[j][-i], 255).rgba())
                fp.close()
                try:
                    fp = open(NF[++frame], 'rb')
                except IOError:
                    print "Cannot open file read!"
                self.ui.lineEdit_3.setText(NF[frame])
                fp.seek(0, 2)
                size = fp.tell()
                fp.seek(size - (492*720), 0)
                for j in range(0, 720, 1):
                    bn.append([])
                    for i in range(491, -1, -1):
                        bn[j].append(struct.unpack("B", fp.read(1))[0])
                for j in range(0, 720, 1):
                    for i in range(491, -1, -1):
                        im2.setPixel(j, i, QtGui.QColor(bn[j][-i], bn[j][-i], bn[j][-i], 255).rgba())
                fp.close()
def MyTimer(self):
        global frame
        global NF
        global dir
        global bf
        global bn
        global im1
        global im2
        if frame == 669:
            frame = 0
        if self.ui.checkBox_4.isChecked():
            if frame == 0:
                os.chdir(dir)
                fp = QtCore.QFile(NF[frame])
                try:
                    fp.open(fp.ReadOnly)
                except IOError:
                    print "Cannot open file read!"
                self.ui.lineEdit_2.setText(NF[frame])
                mydata1 = QtCore.QByteArray()
                mydata1 = fp.readAll()
                fp.close()
                im1 = QtGui.QImage.fromData(mydata1, "BMP")
            if int((2*self.MyRadianToGradus(phi))+0.5) == 720:
                fp = QtCore.QFile(NF[frame])
                try:
                    fp.open(fp.ReadOnly)
                except IOError:
                    print "Cannot open file read!"
                self.ui.lineEdit_2.setText(NF[frame])
                mydata1 = QtCore.QByteArray()
                mydata1 = fp.readAll()
                fp.close()
                im1 = QtGui.QImage.fromData(mydata1, "BMP")
                fp = QtCore.QFile(NF[++frame])
                try:
                    fp.open(fp.ReadOnly)
                except IOError:
                    print "Cannot open file read!"
                self.ui.lineEdit_3.setText(NF[frame])
                mydata2 = QtCore.QByteArray()
                mydata2 = fp.readAll()
                fp.close()
                im2 = QtGui.QImage.fromData(mydata2, "BMP")
Остальной код программы вообще не трогал.