8051 microcontroller problem to find execution time of part1 for a given code
I think you should approach it considering from the most inner loop to the most outer loop.
First label the instructions: 

Time elapse: MOV R0,#100 \$ \quad \, \, \, A\$
 Part 1  \$ \quad \, \, \, \, \, \$   : MOV R1,#50 \$ \quad \, \, \, \, \, \, B \$
 Part 2  \$ \quad \, \, \, \, \, \$   : MOV R2,#248 \$ \quad \, \, \, C\$
 Part 3  \$ \quad \, \, \, \, \, \$ : DJNZ R2,Part3 \$ \quad \, D\$
         \$ \quad \quad \quad \, \, \, \, \, \, \, \, \$  : DJNZ R1,Part2 \$ \quad \, E\$
         \$ \quad \quad \quad \, \, \, \, \, \, \, \, \$   : DJNZ R0,Part1 \$ \quad \, F\$

The inner loop consist of C and D. Only looking at this most inner loop, C is executed once and D is executed 248 times. So,
$$ 1*C + 248*D $$
The loop nesting loop [C and D] consist of B and E, of which (only considering [B [CD] E]) B is executed once and E is executed 50 times. E causes loop [C and D] to be executed 50 times as well. So,

$$ 1*B + 50*E + 50*(1*C + 248*D) $$

The outer loop nesting loop [B and E] consist of A and F, of which A is executed once (but should not be taken into account) and F is executed 100 times. E causes loop [B and E] to be executed 100 times as well. So,

$$ 100*F + 100*(1*B + 50*E + 50*(1*C + 248*D)) $$

Considering instructions B and C cost 1 machine cycle, and D, E and F cost 2 machine cycles, the total number of cycles is 2495300.

Approach of OP
I tried to substitute my defined labels in your approach (and hope I did it right):  

For \$ N :\$
\$N= B+C+\{ 247*D_{true} + 1*D_{false}\}\$  

\$ + 49*E_{true} +49 \{ C +248*D\} + 1*E_{false} \$  

\$ + \color{red}{98}*F_{true} + \color{red}{98} \{ B + C +248*D + 49 (E + C +248*2 )+1*E_{false} \} \$

\$ 1*F_{false}+ \color{red}{1*1}\$

I think I understand your approach: you execute the it the way a machine reads the code!
I think there are 2 errors in it:


part 1 is executed 100 times, so the red 98 should be 99.
the last 1*1 is unclear to me and shouldn't be added