If I am using Windows 7 and R 3.0, I get:
> locpoly(x, y, bandwidth = 0.4821232, gridsize = 12, degree = 1)[['y']]
[1] 0.3030137 0.6456624 0.9530586 1.1121106 0.8120947
[6] 0.4441603 0.1425592 -0.3600028 -0.7840411 -1.0517612
[11] -1.2690134 -2.8078788
So your issue wasn't there. However if I use R 3.0 on Ubuntu 13.04 (GNU/Linux 3.8.0-23-generic x86_64) I get:
> locpoly(x, y, bandwidth = 0.4821232, gridsize = 12, degree = 1)[['y']]
[1] 0.3030137 0.6456624 0.9530586 1.1121106 0.8120947 0.4441603
[7] 0.1425592 -0.3600028 -0.7840411 -1.0517612 -1.2690134 NaN
I tried experimenting and was able to get numbers very similar to what I got in Windows 7 by using:
> locpoly(round(x,3), round(y,3), bandwidth = 0.4821232, gridsize = 12, degree = 1)[['y']]
[1] 0.3032295 0.6459197 0.9533132 1.1121400 0.8118960 0.4437407
[7] 0.1422658 -0.3604210 -0.7848982 -1.0531299 -1.2710219 -0.7269588
So I hope that is able to solve your second problem.
In order to figure out why I was able to get non-NaN answer with Windows, but not Ubuntu, we can look at http://cran.r-project.org/web/packages/KernSmooth/index.html and notice that:
MacOS X binary: KernSmooth_2.23-10.tgz Windows binary: KernSmooth_2.23-11.zip
Naturally there are two different versions, but the Windows binary is one version further than MacOS X binary. I checked out the sourcecode for the functions in Ubuntu and Windows and they look to be the same. However, I did find this Rounding differences on Windows vs Unix based system in sprintf showing that there is a reported bug for differences in rounding between unix and windows. Although that was asked 3 years ago. So I would say the difference might be OS or version for KernSmooth (would lean toward OS as others have also encountered that issue)