Hi Ashian and Hi Asad,
I implemented a solution for this problem today without making any changes to the database. My fix will be in svn trunk later tonight so you can test it and tell me if it is solved correctly. I'm not sure about the year because it came out as 2008 = 1386 (you said it should be 1387 so maybe I'm off by one year?)
Asad, the reason I did not want to integrate the sql changes is because I don't think we need to solve this problem in the database, it can be solved outside the database and this will be better because we have 5 different databases and I don't want the complexity of having 5 different solutions.
I added a few methods to PersianDateHelper.cs to achieve this solution. As I mentioned above I'm not sure I got the year calculation right so it may need a little tweaking to fix it.
Let me know after you test it if it still needs fixing.