Here is my solution:
All 16 cells are primes:
Moves Result 117 51 50 30 173 223 179 101 5 5 48 21 127 139 131 103 0 30 7 4 59 79 107 83 24 37 18 51 61 109 113 73
How I found this:
First I used light chasing to fill the top 3 rows with primes. That is to say, I did some nice large number of moves on the top row cells, and then on each subsequent row I did some mostly arbitrary moves to make the row above show distinct primes. The last row then contains numbers that are not necessarily prime or distinct.
Moves Result 90 70 50 30 173 223 179 101 13 13 29 21 127 139 131 103 11 14 18 23 59 79 107 83 21 23 23 21 55 81 85 67
To turn the bottom row into primes I added on the following patterns (the first pattern was added 3 times, the second pattern was added 14 times):
Moves Result -5 3 0 0 0 0 0 0 2 2 -3 0 0 0 0 0 1 -4 1 3 0 0 0 0 1 0 3 -4 2 0 0 2 3 -2 0 0 0 0 0 0 -1 -1 2 0 0 0 0 0 -1 2 -1 -2 0 0 0 0 0 1 -1 3 0 2 2 0
These two patterns were found by pressing one button on the top row, and then using light chasing (allowing negative moves) to make the top three rows zero and see what the effect is on the bottom row. Linear combinations of these were then constructed to make them change only two of the bottom row numbers.
No doubt smaller solutions are possible. I started out using too few moves on the top row, and kept running into problems of duplicate primes, or negative numbers of moves. I then used a fairly large number of top row moves and hit upon this solution.