Wow. That looks awesome.
SCAR Code:
function Math_PointCoords (point1: TPoint; xp, yp : integer): TPoint;//This returns the point xp, yp from point1 if compass was looking north. Use main screen center and minimap center as point1.
begin
Result := Point(point1.x + xp * Round(Cos(rs_GetCompassAngleRadians)) + yp * Round(Sin(rs_GetCompassAngleRadians)), point1.y - xp * Round(Sin(rs_GetCompassAngleRadians)) + yp * Round(Cos(rs_GetCompassAngleRadians)));
end;
...but that hurts my eyes!
SCAR Code:
function Math_PointCoords (point1: TPoint; xp, yp : integer): TPoint;
var
a, sina, cosa: extended;
begin
a := rs_GetCompassAngleRadians;
sina := sin(a);
cosa := cos(a);
Result := Point(Round(point1.x + xp * cosa + yp * sina), Round(point1.y - xp * sina + yp * cosa));
end;
and I'm not completely sure what you're doing there 
Anyways, you were rounding cosine and sine alone, which only result 0 or 1, and I believe you wanted to round the whole result. "Round(sina)" results either 0 or 1. Therefore "Round(sina) * xp" results either "xp" or "0".