Is it true? POW end block 50000

That is not true. POW "ends" at block 3,750,000
From main.h, line 76:
static const int64 nMineoutBlock = 3750000;/ Starting at block 3,750,000 reward = 0.005 perBlock (starts @ 250-Billion)
and from main.cpp lines 1115-1118:
/ hardCap v1.7
else if (nHeight >= nMineoutBlock) {
return nFees;
}
So at block 3750000 the pow reward will be the fees.